INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-caracal-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.bt403zcu', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-caracal/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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', '1038', '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-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-caracal-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.r8d0li8e', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-caracal/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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', '1038', '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-caracal-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:443: /usr/lib/python3.9/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:445: running sdist DEBUG util.py:445: [pbr] Writing ChangeLog DEBUG util.py:445: [pbr] Generating ChangeLog DEBUG util.py:445: [pbr] ChangeLog complete (0.2s) DEBUG util.py:445: [pbr] Generating AUTHORS DEBUG util.py:445: [pbr] AUTHORS complete (0.4s) DEBUG util.py:445: running egg_info DEBUG util.py:445: creating ironic.egg-info DEBUG util.py:445: writing ironic.egg-info/PKG-INFO DEBUG util.py:445: writing dependency_links to ironic.egg-info/dependency_links.txt DEBUG util.py:445: writing entry points to ironic.egg-info/entry_points.txt DEBUG util.py:445: writing requirements to ironic.egg-info/requires.txt DEBUG util.py:445: writing top-level names to ironic.egg-info/top_level.txt DEBUG util.py:445: writing pbr to ironic.egg-info/pbr.json DEBUG util.py:445: [pbr] Processing SOURCES.txt DEBUG util.py:445: writing manifest file 'ironic.egg-info/SOURCES.txt' DEBUG util.py:445: [pbr] In git context, generating filelist from git DEBUG util.py:443: warning: no previously-included files matching '*.pyc' found anywhere in distribution DEBUG util.py:445: adding license file 'LICENSE' DEBUG util.py:445: writing manifest file 'ironic.egg-info/SOURCES.txt' DEBUG util.py:445: [pbr] reno was not found or is too old. Skipping release notes DEBUG util.py:445: running check DEBUG util.py:445: creating ironic-24.0.1.dev106 DEBUG util.py:445: creating ironic-24.0.1.dev106/api-ref DEBUG util.py:445: creating ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: creating ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack/files DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack/files/hooks DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack/lib DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack/tools DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack/tools/ironic DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack/tools/ironic/scripts DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack/tools/ironic/templates DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack/upgrade DEBUG util.py:445: creating ironic-24.0.1.dev106/devstack/upgrade/from-queens DEBUG util.py:445: creating ironic-24.0.1.dev106/doc DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/_exts DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/admin/inspection DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/admin/interfaces DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/cli DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/configuration DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/install/refarch DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/install/standalone DEBUG util.py:445: creating ironic-24.0.1.dev106/doc/source/user DEBUG util.py:445: creating ironic-24.0.1.dev106/etc DEBUG util.py:445: creating ironic-24.0.1.dev106/etc/apache2 DEBUG util.py:445: creating ironic-24.0.1.dev106/etc/ironic DEBUG util.py:445: creating ironic-24.0.1.dev106/etc/ironic/rootwrap.d DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic.egg-info DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/api DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/api/controllers DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/api/middleware DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/cmd DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/common/glance_service DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/db DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/db/sqlalchemy DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/dhcp DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ibmc DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/inspector DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/network DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/storage DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/drivers/modules/xclarity DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/hacking DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/pxe_filter DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/functional DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/json_samples DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/api/controllers DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/cmd DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/common/drive_samples DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/common/json_samples DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/conf DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/dhcp DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: creating ironic-24.0.1.dev106/ironic/tests/unit/pxe_filter DEBUG util.py:445: creating ironic-24.0.1.dev106/playbooks DEBUG util.py:445: creating ironic-24.0.1.dev106/playbooks/ci-workarounds DEBUG util.py:445: creating ironic-24.0.1.dev106/playbooks/metal3-ci DEBUG util.py:445: creating ironic-24.0.1.dev106/redfish-interop-profiles DEBUG util.py:445: creating ironic-24.0.1.dev106/releasenotes DEBUG util.py:445: creating ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: creating ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: creating ironic-24.0.1.dev106/releasenotes/source/_static DEBUG util.py:445: creating ironic-24.0.1.dev106/releasenotes/source/_templates DEBUG util.py:445: creating ironic-24.0.1.dev106/releasenotes/source/locale DEBUG util.py:445: creating ironic-24.0.1.dev106/releasenotes/source/locale/en_GB DEBUG util.py:445: creating ironic-24.0.1.dev106/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: creating ironic-24.0.1.dev106/tools DEBUG util.py:445: creating ironic-24.0.1.dev106/tools/benchmark DEBUG util.py:445: creating ironic-24.0.1.dev106/tools/config DEBUG util.py:445: creating ironic-24.0.1.dev106/tools/policy DEBUG util.py:445: creating ironic-24.0.1.dev106/zuul.d DEBUG util.py:445: copying files to ironic-24.0.1.dev106... DEBUG util.py:445: copying .mailmap -> ironic-24.0.1.dev106 DEBUG util.py:445: copying .stestr.conf -> ironic-24.0.1.dev106 DEBUG util.py:445: copying AUTHORS -> ironic-24.0.1.dev106 DEBUG util.py:445: copying CONTRIBUTING.rst -> ironic-24.0.1.dev106 DEBUG util.py:445: copying ChangeLog -> ironic-24.0.1.dev106 DEBUG util.py:445: copying LICENSE -> ironic-24.0.1.dev106 DEBUG util.py:445: copying README.rst -> ironic-24.0.1.dev106 DEBUG util.py:445: copying bindep.txt -> ironic-24.0.1.dev106 DEBUG util.py:445: copying driver-requirements.txt -> ironic-24.0.1.dev106 DEBUG util.py:445: copying requirements.txt -> ironic-24.0.1.dev106 DEBUG util.py:445: copying setup.cfg -> ironic-24.0.1.dev106 DEBUG util.py:445: copying setup.py -> ironic-24.0.1.dev106 DEBUG util.py:445: copying test-requirements.txt -> ironic-24.0.1.dev106 DEBUG util.py:445: copying tox.ini -> ironic-24.0.1.dev106 DEBUG util.py:445: copying api-ref/regenerate-samples.sh -> ironic-24.0.1.dev106/api-ref DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-allocation.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-attach-detach-vmedia.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-chassis.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-conductors.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-deploy-templates.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-driver-passthru.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-drivers.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-indicators.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-misc.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-allocation.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-management.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-passthru.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-bios.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-firmware.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-history.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-inventory.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-portgroups.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-ports.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-traits.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-vifs.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-volume.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups-ports.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-ports.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-shards.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-volume.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-versions.inc -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/conf.py -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/index.rst -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/parameters.yaml -> ironic-24.0.1.dev106/api-ref/source DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request-2.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-show-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocations-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-root-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-v1-root-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-create-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-details-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-show-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-details-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-show-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-show-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-get-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-logical-disk-properties-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-property-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/lookup-node-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-list-details-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-classic.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-dynamic.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-firmware-components-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-boot-device-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-state-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-supported-boot-devices-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-history-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-get-state-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-set-state.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-inject-nmi.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-inventory-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-maintenance-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state-deploy-steps.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-available-state.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-device.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-mode-bios.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-mode-uefi.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-clean-state.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-manage-state.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-power-off.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-raid-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-secure-boot-off.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-secure-boot-on.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-soft-power-off.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-traits-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-show-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-traits-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-validate-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vendor-passthru-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-attach-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vmedia-attach-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-details-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/shards-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-detail-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-request.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-response.json -> ironic-24.0.1.dev106/api-ref/source/samples DEBUG util.py:445: copying devstack/common_settings -> ironic-24.0.1.dev106/devstack DEBUG util.py:445: copying devstack/plugin.sh -> ironic-24.0.1.dev106/devstack DEBUG util.py:445: copying devstack/settings -> ironic-24.0.1.dev106/devstack DEBUG util.py:445: copying devstack/files/apache-ipxe-ironic.template -> ironic-24.0.1.dev106/devstack/files DEBUG util.py:445: copying devstack/files/apache-ironic-api-redirect.template -> ironic-24.0.1.dev106/devstack/files DEBUG util.py:445: copying devstack/files/bindep.txt -> ironic-24.0.1.dev106/devstack/files DEBUG util.py:445: copying devstack/files/hooks/qemu.py -> ironic-24.0.1.dev106/devstack/files/hooks DEBUG util.py:445: copying devstack/lib/ironic -> ironic-24.0.1.dev106/devstack/lib DEBUG util.py:445: copying devstack/tools/ironic/scripts/cirros-partition.sh -> ironic-24.0.1.dev106/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/cleanup-node.sh -> ironic-24.0.1.dev106/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/configure-vm.py -> ironic-24.0.1.dev106/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/create-node.sh -> ironic-24.0.1.dev106/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/setup-network.sh -> ironic-24.0.1.dev106/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/templates/brbm.xml -> ironic-24.0.1.dev106/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/tftpd-xinetd.template -> ironic-24.0.1.dev106/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/vm.xml -> ironic-24.0.1.dev106/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/upgrade/resources.sh -> ironic-24.0.1.dev106/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/settings -> ironic-24.0.1.dev106/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/shutdown.sh -> ironic-24.0.1.dev106/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/upgrade.sh -> ironic-24.0.1.dev106/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/from-queens/upgrade-ironic -> ironic-24.0.1.dev106/devstack/upgrade/from-queens DEBUG util.py:445: copying doc/requirements.txt -> ironic-24.0.1.dev106/doc DEBUG util.py:445: copying doc/source/conf.py -> ironic-24.0.1.dev106/doc/source DEBUG util.py:445: copying doc/source/index.rst -> ironic-24.0.1.dev106/doc/source DEBUG util.py:445: copying doc/source/_exts/automated_steps.py -> ironic-24.0.1.dev106/doc/source/_exts DEBUG util.py:445: copying doc/source/_exts/web_api_docstring.py -> ironic-24.0.1.dev106/doc/source/_exts DEBUG util.py:445: copying doc/source/admin/adoption.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-power.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-token.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/anaconda-deploy-interface.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/api-audit-support.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/bios.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/boot-from-volume.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/building-windows-images.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/cleaning.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/conductor-groups.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/console.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/deploy-steps.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/dhcp-less.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/fast-track.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/gmr.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/hardware-burn-in.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/index.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/inspection.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/metrics.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/multitenancy.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-deployment.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-multitenancy.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/notifications.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/ovn-networking.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/portgroups.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/power-sync.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/radosgw.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/raid.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/ramdisk-boot.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/report.txt -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/rescue.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/retirement.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/secure-rbac.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/security.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/servicing.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/steps.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/troubleshooting.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/tuning.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-guide.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-to-hardware-types.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/user-image-basic-auth.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/vendor-passthru.rst -> ironic-24.0.1.dev106/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers/ansible.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/fake.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ibmc.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/idrac.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ilo.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/intel-ipmi.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipa.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipmitool.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/irmc.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/redfish.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/snmp.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/xclarity.rst -> ironic-24.0.1.dev106/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/inspection/data.rst -> ironic-24.0.1.dev106/doc/source/admin/inspection DEBUG util.py:445: copying doc/source/admin/inspection/discovery.rst -> ironic-24.0.1.dev106/doc/source/admin/inspection DEBUG util.py:445: copying doc/source/admin/inspection/hooks.rst -> ironic-24.0.1.dev106/doc/source/admin/inspection DEBUG util.py:445: copying doc/source/admin/inspection/index.rst -> ironic-24.0.1.dev106/doc/source/admin/inspection DEBUG util.py:445: copying doc/source/admin/inspection/inspector.rst -> ironic-24.0.1.dev106/doc/source/admin/inspection DEBUG util.py:445: copying doc/source/admin/inspection/managed.rst -> ironic-24.0.1.dev106/doc/source/admin/inspection DEBUG util.py:445: copying doc/source/admin/inspection/pxe_filter.rst -> ironic-24.0.1.dev106/doc/source/admin/inspection DEBUG util.py:445: copying doc/source/admin/interfaces/boot.rst -> ironic-24.0.1.dev106/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/admin/interfaces/deploy.rst -> ironic-24.0.1.dev106/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/cli/index.rst -> ironic-24.0.1.dev106/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-dbsync.rst -> ironic-24.0.1.dev106/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-status.rst -> ironic-24.0.1.dev106/doc/source/cli DEBUG util.py:445: copying doc/source/configuration/config.rst -> ironic-24.0.1.dev106/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/index.rst -> ironic-24.0.1.dev106/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/policy.rst -> ironic-24.0.1.dev106/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-config.rst -> ironic-24.0.1.dev106/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-policy.rst -> ironic-24.0.1.dev106/doc/source/configuration DEBUG util.py:445: copying doc/source/contributor/adding-new-job.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/architecture.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bifrost-dev-guide.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bios_develop.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bug-deputy.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bugs.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/community.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/contributing.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/debug-ci-failures.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/deploy-steps.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/dev-quickstart.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/devstack-guide.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/drivers.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/faq.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/governance.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/index.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-boot-from-volume.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-multitenant-networking.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/jobs-description.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/local-dev-guide.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/notifications.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/osprofiler-support.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rbac-testing.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/releasing.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rolling-upgrades.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/states.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/third-party-ci.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vendor-passthru.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision-reflection.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi-version-history.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi.rst -> ironic-24.0.1.dev106/doc/source/contributor DEBUG util.py:445: copying doc/source/images/agent-token-with-pxe-ipxe.diag -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/agent-token-with-pxe-ipxe.svg -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/agent-token-with-virtual-media.diag -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/agent-token-with-virtual-media.svg -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/boot-from-volume.diag -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/boot-from-volume.svg -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/conceptual_architecture.png -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/deployment_architecture_2.png -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/direct-deploy.diag -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/direct-deploy.svg -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/glance-and-swift-for-partition-images.diag -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/glance-and-swift-for-partition-images.svg -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/glance-and-swift-whole-disk-images.diag -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/glance-and-swift-whole-disk-images.svg -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/https-based-deploy.diag -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/https-based-deploy.svg -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/logical_architecture.png -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/standalone-ironic.diag -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/standalone-ironic.svg -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/states.png -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/swiftless-deploy.diag -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/images/swiftless-deploy.svg -> ironic-24.0.1.dev106/doc/source/images DEBUG util.py:445: copying doc/source/install/advanced.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configdrive.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-cleaning.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-compute.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-images.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-swift.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-identity.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-integration.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipmi.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipv6-networking.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-networking.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-nova-flavors.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-pxe.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-tenant-networks.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/creating-images.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/deploy-ramdisk.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-drivers.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-https.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/enrollment.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/get_started.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/index.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/install-obs.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/install-rdo.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/install-ubuntu.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/install.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/next-steps.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/setup-drivers.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/standalone.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/troubleshooting.rst -> ironic-24.0.1.dev106/doc/source/install DEBUG util.py:445: copying doc/source/install/include/boot-mode.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-configure.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-prerequisites.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api-mod_wsgi.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-conductor.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-singleprocess.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/console.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/disk-label.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/kernel-boot-parameters.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/notifications.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/root-device-hints.inc -> ironic-24.0.1.dev106/doc/source/install/include DEBUG util.py:445: copying doc/source/install/refarch/common.rst -> ironic-24.0.1.dev106/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/index.rst -> ironic-24.0.1.dev106/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/small-cloud-trusted-tenants.rst -> ironic-24.0.1.dev106/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/standalone/configure.rst -> ironic-24.0.1.dev106/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/deploy.rst -> ironic-24.0.1.dev106/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/enrollment.rst -> ironic-24.0.1.dev106/doc/source/install/standalone DEBUG util.py:445: copying doc/source/user/architecture.rst -> ironic-24.0.1.dev106/doc/source/user DEBUG util.py:445: copying doc/source/user/creating-images.rst -> ironic-24.0.1.dev106/doc/source/user DEBUG util.py:445: copying doc/source/user/deploy.rst -> ironic-24.0.1.dev106/doc/source/user DEBUG util.py:445: copying doc/source/user/index.rst -> ironic-24.0.1.dev106/doc/source/user DEBUG util.py:445: copying doc/source/user/states.rst -> ironic-24.0.1.dev106/doc/source/user DEBUG util.py:445: copying etc/apache2/ironic -> ironic-24.0.1.dev106/etc/apache2 DEBUG util.py:445: copying etc/ironic/README-ironic.conf.txt -> ironic-24.0.1.dev106/etc/ironic DEBUG util.py:445: copying etc/ironic/README-policy.yaml.txt -> ironic-24.0.1.dev106/etc/ironic DEBUG util.py:445: copying etc/ironic/api_audit_map.conf.sample -> ironic-24.0.1.dev106/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.conf -> ironic-24.0.1.dev106/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.d/ironic-utils.filters -> ironic-24.0.1.dev106/etc/ironic/rootwrap.d DEBUG util.py:445: copying ironic/__init__.py -> ironic-24.0.1.dev106/ironic DEBUG util.py:445: copying ironic/version.py -> ironic-24.0.1.dev106/ironic DEBUG util.py:445: copying ironic.egg-info/PKG-INFO -> ironic-24.0.1.dev106/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/SOURCES.txt -> ironic-24.0.1.dev106/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/dependency_links.txt -> ironic-24.0.1.dev106/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/entry_points.txt -> ironic-24.0.1.dev106/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/not-zip-safe -> ironic-24.0.1.dev106/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/pbr.json -> ironic-24.0.1.dev106/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/requires.txt -> ironic-24.0.1.dev106/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/top_level.txt -> ironic-24.0.1.dev106/ironic.egg-info DEBUG util.py:445: copying ironic/api/__init__.py -> ironic-24.0.1.dev106/ironic/api DEBUG util.py:445: copying ironic/api/app.py -> ironic-24.0.1.dev106/ironic/api DEBUG util.py:445: copying ironic/api/config.py -> ironic-24.0.1.dev106/ironic/api DEBUG util.py:445: copying ironic/api/functions.py -> ironic-24.0.1.dev106/ironic/api DEBUG util.py:445: copying ironic/api/hooks.py -> ironic-24.0.1.dev106/ironic/api DEBUG util.py:445: copying ironic/api/method.py -> ironic-24.0.1.dev106/ironic/api DEBUG util.py:445: copying ironic/api/wsgi.py -> ironic-24.0.1.dev106/ironic/api DEBUG util.py:445: copying ironic/api/controllers/__init__.py -> ironic-24.0.1.dev106/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/base.py -> ironic-24.0.1.dev106/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/link.py -> ironic-24.0.1.dev106/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/root.py -> ironic-24.0.1.dev106/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/version.py -> ironic-24.0.1.dev106/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/v1/__init__.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/allocation.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/bios.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/chassis.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/collection.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/conductor.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/deploy_template.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/driver.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/event.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/firmware.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/network-data-schema.json -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/node.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/notification_utils.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/port.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/portgroup.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/ramdisk.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/shard.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/utils.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/versions.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_connector.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_target.py -> ironic-24.0.1.dev106/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/middleware/__init__.py -> ironic-24.0.1.dev106/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/auth_public_routes.py -> ironic-24.0.1.dev106/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/json_ext.py -> ironic-24.0.1.dev106/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/parsable_error.py -> ironic-24.0.1.dev106/ironic/api/middleware DEBUG util.py:445: copying ironic/cmd/__init__.py -> ironic-24.0.1.dev106/ironic/cmd DEBUG util.py:445: copying ironic/cmd/api.py -> ironic-24.0.1.dev106/ironic/cmd DEBUG util.py:445: copying ironic/cmd/conductor.py -> ironic-24.0.1.dev106/ironic/cmd DEBUG util.py:445: copying ironic/cmd/dbsync.py -> ironic-24.0.1.dev106/ironic/cmd DEBUG util.py:445: copying ironic/cmd/pxe_filter.py -> ironic-24.0.1.dev106/ironic/cmd DEBUG util.py:445: copying ironic/cmd/singleprocess.py -> ironic-24.0.1.dev106/ironic/cmd DEBUG util.py:445: copying ironic/cmd/status.py -> ironic-24.0.1.dev106/ironic/cmd DEBUG util.py:445: copying ironic/common/__init__.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/args.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/boot_devices.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/boot_modes.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/cinder.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/components.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/config.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/context.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/dhcp_factory.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/driver_factory.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/exception.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/faults.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/fsm.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/grub_conf.template -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/hash_ring.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/i18n.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/image_publisher.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/image_service.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/images.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/indicator_states.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/isolinux_config.template -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/keystone.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/kickstart_utils.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/molds.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/network.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/neutron.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/nova.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/policy.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/profiler.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/pxe_utils.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/raid.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/release_mappings.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/rpc.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/rpc_service.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/service.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/states.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/swift.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/utils.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/wsgi_service.py -> ironic-24.0.1.dev106/ironic/common DEBUG util.py:445: copying ironic/common/glance_service/__init__.py -> ironic-24.0.1.dev106/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/image_service.py -> ironic-24.0.1.dev106/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/service_utils.py -> ironic-24.0.1.dev106/ironic/common/glance_service DEBUG util.py:445: copying ironic/conductor/__init__.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/allocations.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/base_manager.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/cleaning.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/deployments.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/inspection.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/manager.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/notification_utils.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/periodics.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/rpc_service.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/rpcapi.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/servicing.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/steps.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/task_manager.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/utils.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conductor/verify.py -> ironic-24.0.1.dev106/ironic/conductor DEBUG util.py:445: copying ironic/conf/__init__.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/agent.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/anaconda.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/ansible.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/api.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/audit.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/auth.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/cinder.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/conductor.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/console.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/database.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/default.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/deploy.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/dhcp.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/dnsmasq.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/drac.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/fake.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/glance.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/healthcheck.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/ibmc.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/ilo.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/inspector.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/inventory.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/ipmi.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/irmc.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics_statsd.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/molds.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/neutron.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/nova.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/opts.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/pxe.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/redfish.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/sensor_data.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/service_catalog.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/snmp.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/swift.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/conf/xclarity.py -> ironic-24.0.1.dev106/ironic/conf DEBUG util.py:445: copying ironic/db/__init__.py -> ironic-24.0.1.dev106/ironic/db DEBUG util.py:445: copying ironic/db/api.py -> ironic-24.0.1.dev106/ironic/db DEBUG util.py:445: copying ironic/db/migration.py -> ironic-24.0.1.dev106/ironic/db DEBUG util.py:445: copying ironic/db/sqlalchemy/__init__.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic.ini -> ironic-24.0.1.dev106/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/api.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/migration.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/models.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/README -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/env.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/script.py.mako -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/01f21d5e5195_increase_length_of_user_column.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/0ac0f39bc5aa_add_node_inventory_table.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/163040c5513f_add_firmware_information.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/4dbec778866e_create_node_shard.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> ironic-24.0.1.dev106/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-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/aa2384fee727_add_service_steps.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/d163df1bab88_remove_extra_fk_constraint_in_.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/fe222f476baf_add_parent_node_field.py -> ironic-24.0.1.dev106/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/dhcp/__init__.py -> ironic-24.0.1.dev106/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/base.py -> ironic-24.0.1.dev106/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/dnsmasq.py -> ironic-24.0.1.dev106/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/neutron.py -> ironic-24.0.1.dev106/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/none.py -> ironic-24.0.1.dev106/ironic/dhcp DEBUG util.py:445: copying ironic/drivers/__init__.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/base.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/drac.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/fake_hardware.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/generic.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/hardware_type.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ibmc.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ilo.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/intel_ipmi.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ipmi.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/irmc.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/raid_config_schema.json -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/redfish.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/snmp.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/utils.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/xclarity.py -> ironic-24.0.1.dev106/ironic/drivers DEBUG util.py:445: copying ironic/drivers/modules/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_base.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_client.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_power.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot.ipxe -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot_mode_utils.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/console_utils.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/deploy_utils.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/fake.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_cache.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_utils.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/initial_grub_cfg.template -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspect_utils.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipmitool.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe_config.template -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ks.cfg.template -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop_mgmt.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_base.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_config.template -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_grub_config.template -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ramdisk.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/snmp.py -> ironic-24.0.1.dev106/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ansible/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/deploy.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/inventory -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> ironic-24.0.1.dev106/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-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: copying ironic/drivers/modules/drac/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/bios.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/boot.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/common.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/inspect.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/job.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/management.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/power.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/raid.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/utils.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/vendor_passthru.py -> ironic-24.0.1.dev106/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/ibmc/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/management.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/mappings.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/power.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/raid.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/utils.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/vendor.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ilo/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/bios.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/boot.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/common.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/console.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/firmware_processor.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/inspect.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/management.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/power.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/raid.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/vendor.py -> ironic-24.0.1.dev106/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/inspector/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector DEBUG util.py:445: copying ironic/drivers/modules/inspector/agent.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector DEBUG util.py:445: copying ironic/drivers/modules/inspector/client.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector DEBUG util.py:445: copying ironic/drivers/modules/inspector/interface.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector DEBUG util.py:445: copying ironic/drivers/modules/inspector/lldp_parsers.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector DEBUG util.py:445: copying ironic/drivers/modules/inspector/lldp_tlvs.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/accelerators.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/architecture.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/base.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/boot_mode.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/cpu_capabilities.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/extra_hardware.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/known_accelerators.yaml -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/local_link_connection.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/memory.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/parse_lldp.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/pci_devices.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/physical_network.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/ports.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/raid_device.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/ramdisk_error.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/root_device.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/inspector/hooks/validate_interfaces.py -> ironic-24.0.1.dev106/ironic/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/management.py -> ironic-24.0.1.dev106/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/irmc/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/bios.py -> ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/boot.py -> ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/common.py -> ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/inspect.py -> ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/management.py -> ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/power.py -> ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/raid.py -> ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/vendor.py -> ironic-24.0.1.dev106/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/network/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/common.py -> ironic-24.0.1.dev106/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/flat.py -> ironic-24.0.1.dev106/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/neutron.py -> ironic-24.0.1.dev106/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/noop.py -> ironic-24.0.1.dev106/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/redfish/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/bios.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/boot.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/firmware.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/firmware_utils.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/inspect.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/management.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/power.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/raid.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/utils.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/vendor.py -> ironic-24.0.1.dev106/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/storage/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/cinder.py -> ironic-24.0.1.dev106/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/external.py -> ironic-24.0.1.dev106/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/noop.py -> ironic-24.0.1.dev106/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/xclarity/__init__.py -> ironic-24.0.1.dev106/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/common.py -> ironic-24.0.1.dev106/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/management.py -> ironic-24.0.1.dev106/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/power.py -> ironic-24.0.1.dev106/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/hacking/__init__.py -> ironic-24.0.1.dev106/ironic/hacking DEBUG util.py:445: copying ironic/hacking/checks.py -> ironic-24.0.1.dev106/ironic/hacking DEBUG util.py:445: copying ironic/objects/__init__.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/allocation.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/base.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/bios.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/chassis.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/conductor.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/deploy_template.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/deployment.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/fields.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/firmware.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/indirection.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/node.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/node_history.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/node_inventory.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/notification.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/port.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/portgroup.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/trait.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_connector.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_target.py -> ironic-24.0.1.dev106/ironic/objects DEBUG util.py:445: copying ironic/pxe_filter/__init__.py -> ironic-24.0.1.dev106/ironic/pxe_filter DEBUG util.py:445: copying ironic/pxe_filter/dnsmasq.py -> ironic-24.0.1.dev106/ironic/pxe_filter DEBUG util.py:445: copying ironic/pxe_filter/service.py -> ironic-24.0.1.dev106/ironic/pxe_filter DEBUG util.py:445: copying ironic/tests/__init__.py -> ironic-24.0.1.dev106/ironic/tests DEBUG util.py:445: copying ironic/tests/base.py -> ironic-24.0.1.dev106/ironic/tests DEBUG util.py:445: copying ironic/tests/functional/__init__.py -> ironic-24.0.1.dev106/ironic/tests/functional DEBUG util.py:445: copying ironic/tests/json_samples/network_data.json -> ironic-24.0.1.dev106/ironic/tests/json_samples DEBUG util.py:445: copying ironic/tests/unit/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/policy_fixture.py -> ironic-24.0.1.dev106/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/raid_constants.py -> ironic-24.0.1.dev106/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/stubs.py -> ironic-24.0.1.dev106/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/test_base.py -> ironic-24.0.1.dev106/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/api/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/base.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl_basic.yaml -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_audit.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_functions.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_healthcheck.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_hooks.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_method.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_middleware.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_ospmiddleware.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_proxy_middleware.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_legacy.yaml -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_root.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/controllers/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/test_base.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_collection.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_driver.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_event.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_node.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_port.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_root.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_shard.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_versions.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> ironic-24.0.1.dev106/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/cmd/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_conductor.py -> ironic-24.0.1.dev106/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_dbsync.py -> ironic-24.0.1.dev106/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_status.py -> ironic-24.0.1.dev106/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/common/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_args.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_cinder.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_context.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_driver_factory.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_fsm.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_glance_service.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_hash_ring.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_image_publisher.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_image_service.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_images.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_keystone.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_kickstart_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_molds.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_network.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_neutron.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_nova.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_policy.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_pxe_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_raid.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_release_mappings.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_states.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_swift.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_wsgi_service.py -> ironic-24.0.1.dev106/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/drive_samples/config_drive -> ironic-24.0.1.dev106/ironic/tests/unit/common/drive_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> ironic-24.0.1.dev106/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> ironic-24.0.1.dev106/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> ironic-24.0.1.dev106/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> ironic-24.0.1.dev106/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> ironic-24.0.1.dev106/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> ironic-24.0.1.dev106/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/conductor/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/mgr_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_allocations.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_base_manager.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_cleaning.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_deployments.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_inspection.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_manager.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_notification_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_periodics.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_rpc_service.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_rpcapi.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_servicing.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_steps.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_task_manager.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_verify.py -> ironic-24.0.1.dev106/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conf/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/conf/test_auth.py -> ironic-24.0.1.dev106/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/db/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/base.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_allocations.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_api.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_bios_settings.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_chassis.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_conductor.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_deploy_templates.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_firmware_component.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_history.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_inventory.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_tags.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_traits.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_nodes.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_portgroups.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_ports.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_shard.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_connectors.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_targets.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_api.py -> ironic-24.0.1.dev106/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> ironic-24.0.1.dev106/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_models.py -> ironic-24.0.1.dev106/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_types.py -> ironic-24.0.1.dev106/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/dhcp/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_dnsmasq.py -> ironic-24.0.1.dev106/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_factory.py -> ironic-24.0.1.dev106/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_neutron.py -> ironic-24.0.1.dev106/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/drivers/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot-fallback.ipxe -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot.ipxe -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_config.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_grub_config.template -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_base.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_drac.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_fake_hardware.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_generic.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ibmc.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ilo.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ipmi.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_irmc.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_redfish.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_snmp.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_xclarity.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_base.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_client.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_power.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_console_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_cache.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipxe.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_pxe.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ramdisk.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_snmp.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_common.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_job.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_management.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_power.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/base.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/test_agent.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/test_client.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/test_interface.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_accelerators.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_architecture.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_boot_mode.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_cpu_capabilities.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_extra_hardware.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_memory.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_parse_lldp.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_pci_devices.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_physical_network.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_ports.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_raid_device.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_ramdisk_error.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_root_device.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_validate_interfaces.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_common.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_flat.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_noop.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_firmware.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_external.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> ironic-24.0.1.dev106/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/objects/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_allocation.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_bios.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_chassis.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_conductor.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deploy_template.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deployment.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_fields.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_firmware.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node_history.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node_inventory.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_notification.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_objects.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_port.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_portgroup.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_trait.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_connector.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_target.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/utils.py -> ironic-24.0.1.dev106/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/pxe_filter/__init__.py -> ironic-24.0.1.dev106/ironic/tests/unit/pxe_filter DEBUG util.py:445: copying ironic/tests/unit/pxe_filter/test_dnsmasq.py -> ironic-24.0.1.dev106/ironic/tests/unit/pxe_filter DEBUG util.py:445: copying ironic/tests/unit/pxe_filter/test_service.py -> ironic-24.0.1.dev106/ironic/tests/unit/pxe_filter DEBUG util.py:445: copying playbooks/ci-workarounds/etc-neutron.yaml -> ironic-24.0.1.dev106/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/get_extra_logging.yaml -> ironic-24.0.1.dev106/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/pre.yaml -> ironic-24.0.1.dev106/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/metal3-ci/fetch_kube_logs.yaml -> ironic-24.0.1.dev106/playbooks/metal3-ci DEBUG util.py:445: copying playbooks/metal3-ci/fetch_pod_logs.yaml -> ironic-24.0.1.dev106/playbooks/metal3-ci DEBUG util.py:445: copying playbooks/metal3-ci/post.yaml -> ironic-24.0.1.dev106/playbooks/metal3-ci DEBUG util.py:445: copying playbooks/metal3-ci/run.yaml -> ironic-24.0.1.dev106/playbooks/metal3-ci DEBUG util.py:445: copying redfish-interop-profiles/OpenStackIronicProfile.v1_0_0.json -> ironic-24.0.1.dev106/redfish-interop-profiles DEBUG util.py:445: copying releasenotes/config.yaml -> ironic-24.0.1.dev106/releasenotes DEBUG util.py:445: copying releasenotes/notes/.placeholder -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/18.2-prelude-3c8609692bab70a3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/20.1-prelude-612672742f417477.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/2024.1-release-prelude-c5ab735c0dc6af5c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/23.0-prelude-bobcat-ad7c24f666c22ebf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/5.0-release-afb1fbbe595b6bc8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/Add-port-option-support-to-ipmitool-e125d07fe13c53e7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/Cleanfail-power-off-13b5fdcc2727866a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ValueDisplayName-13837c653277ff08.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/active-node-creation-a41c9869c966c82b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-api-error-77ec6c272390c488.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-erase-fallback-b07613a7042fe236.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-iboot-0a4b5471c6ace461.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-proxy-support-790e629634ca2eb7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-allocations-table-check-38f1c9eef189b411.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ansible-python-interpreter-2035e0f23d407aaf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-automatic-lessee-88f8ecab7c76b65f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-from-volume-support-9f64208f083d0691.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-mode-redfish-inspect-48e2b27ef022932a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-chassis_uuid-removal-possibility-8b06341a91f7c676.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-choice-to-some-options-9fb327c48e6bfda1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-cisco-ucs-hardware-types-ee597ff0416f158f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-clean-steps-priority-88d7de5973500a7d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-config-mold-steps-idrac-1773d81953209964.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-configurable-ipmi-retriables-b6056f722f6ed3b0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-db-deadlock-handling-6bc10076537f3727.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-default-conductor-group-a0355c5e9345a037.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-arg-9d8c58559c14288c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-drac-raid-interface-7023c03a96996265.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-bios-interface-c73152269701ef80.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-management-interface-9d0f45954eda643a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-raid-interface-732314cea19fe8ac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-redfish-bios-interface-f5e5415108f87598.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-driver-api-fields-selector-36f12259f01b0f7a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dual-stack-dhcp-opts-6dc18ae10aeb599a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dynamic-allocation-feature-2fd6b4df7943f178.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-error-check-ipmitool-reboot-ca7823202c5ab71d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-execute-on-child-node-20910aecb8f8b714.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-gmr-3c9278d5d785895f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-healthcheck-middleware-86120fa07a7c8151.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-hold-states-7be5804d6f3a119a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-http-boot-support-a5a90e87a91a87d5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ibmc-raid-interface-0c13826e134fb4ce.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-id-and-uuid-filtering-to-sqalchemy-api.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-idrac-verify-steps-50c1a0f0fe299922.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-inband-deploy-step-update-firmware-using-sum-cfee84a19120dd3c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-uefi-https-boot-interface-f3b163a8a6243283.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-indicator-api-8c816b3828e6b43b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspect-wait-state-948f83dfe342897b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspection-abort-a187e6e5c1f6311d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspection-hooks-06e1e15d81061c83.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipv6-pxe-support-8fb51c355cc977c4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipxe-boot-iso-support-6ae2f5cc2250be3e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iscsi-portal-port-option-bde3b386f44f2a90.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-less-vmedia-ilo-5816922c03d0fd85.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-suffix-557a4fc4382fd7f3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-param-config-ilo-9b2cee8b0447f82e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-params-redfish-72b87075465c87f6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-more-retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-more-sources-redfish-firmware-update-3da89f10dc0f8d21.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-neutron-request-timeout-1f7372af81f14ddd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-bios-9c1c3d442e8acdac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-boot-mode-control-9761d4bcbd8c3a0d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-description-790097704f45af91.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-event-history-99c6166607a90f3c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-inventory-7cde961b14caa11e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-resource-class-c31e26df4196293e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-notifications-97b6c79c18b48073.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-oneview-driver-96088bf470b16c34.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-option-persistent-boot-device-139cf280fb66f4f7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-owner-information-52e153faf570747e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-parallel-power-syncs-b099d66e80aab616.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-parent-node-support-10bd42abd008db6f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-advanced-net-fields-55465091f019d962.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-internal-info-b7e02889416570f7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-is-smartnic-4ce6974c8fe2732d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-prep-partition-support-d808849795906e64.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-protection-for-available-nodes-25f163d69782ef63.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-nic-support-in-redfish-5359897135df1348.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-per-node-526fd79df17efda8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-support-for-petitboot-50d1fe4e7da4bfba.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-rbac-project-manager-role-7ffc52f78ff93432.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-realtime-support-d814d5917836e9e2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-auth-type-5fe78071b528e53b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-interface-e7e05bdd2c894d80.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-mode-support-2f1a2568e71c65d0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot_iso-pass-through-8a6f4d0c98ada1d5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-hardware-inventory-830ebc0b2e0f50c2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-httpboot-support-8d516158860c9d43.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-inspect-interface-1577e70167f24ae4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-sensors-4e2f7e3f8a7c6d5b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-2c1f09271f96424d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-9509f3735df2aa5d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-service-role-support-8e9390769508ca99.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-service-steps-deb45c9a0e77a647.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-inspection-support-e68fd6d57cb33846.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-baytech-mrp27-5007d1d7e0a52162.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-discovery-1f280b7f06fd1ca5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-read-write-community-names-7589a8d1899c142c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmpv3-security-features-bbefb8b844813a53.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-socat-console-ipmitool-ab4402ec976c5c96.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-sqlite-db-retries-f493d5d7aa6db78b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ssl-support-4547801eedba5942.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-storage-interface-d4e64224804207fc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-no-poweroff-on-failure-86e43b3e39043990.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-smart-nic-0fc5b10ba6772f7f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-to-manage_certs-b6615e15f697bc26.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-target-raid-config-ansible-deploy-c9ae81d9d25c62fe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-timeout-parameter-to-power-methods-5f632c936497685e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-tooz-dep-85c56c74733a222d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-2202e8ce9a174ece.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-to-boot-interface-bd74aff9e250334b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-verify-steps-support-2b34a74e86f89cb4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-vif-attach-detach-support-99eca43eea6e5a30.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-vmedia-system-support-5d81316d02b909b9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-wait-step-3751e7918afdd199.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-warning-in-ilo-for-ilo6-c400b35f55b81f50.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_automated_clean_field-b3e7d56f4aeaf512.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_clear_job_queue-7b774d8d0e36d1b2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_reset_idrac_and_known_good_state-cdbebf97d7b87fe7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_conversion_flags_iscsi-d7f846803a647573.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_cpu_fpga_trait_for_irmc_inspection-2b63941b064f7936.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_detail_true_api_query-cb6944847830cd1a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_infiniband_support-f497767f77277a1a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_portgroup_support-7d5c6663bb00684a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_retirement_support-23c5fed7ce8f97d4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_security_capabilities_to_ilo-1ff11b01e5930cc7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_standalone_ports_supported_field-4c59702a052acf38.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/added-redfish-driver-00ff5e3f7e9d6ee8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adding-audit-middleware-b95f2a00baed9750.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adding-security-param-clean-step-00d5548072a397f2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/additonal-snmp-drivers-ae1174e6bd6ee3a6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/address-rbac-originating-500-errors-4b54977631a015d9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-external-storage-interface-9b7c0a0a2afd3176.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ilo-ipxe-boot-interface-4fc75292122db80d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-kickstart-auto-url-in-template-9f716c244adff159.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-nvme-erase-switch-fa91e867e45ede3c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-39fc61bc77b57beb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-support-to-ilo-vmedia-1a7228a834465633.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-secure-erase-switch-23f449c86b3648a4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-ironic-context-5e75540dc2b2f009.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-oslo-config-generator-15afd2e7c2f008b4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-validation-7249ceb57016f0e4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adoption-feature-update-d2160954a2c36b0a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-api-bf9f18d8d38075e4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-can-request-reboot-6238e13e2e898f68.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-client-poll-ce16fd589e88c95a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-command-status-retry-f9b6f53a823c6b01.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-http-provisioning-d116b3ff36669d16.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-last-command-4ec6967c995ba84a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-a000fdf37cb870e4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-off-2115fcfaac030bd0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-647acfd599e83476.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-validate-f7348ac034606b83.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-rebooted-fab20d012fe6cbe8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-takeover-60f27cef21ebfb48.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-817a03776bd46d5b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-support-0a5b5aa1585dfbb5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-uuid-5d86bc18849acda3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-6efa3dfc469bab02.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-ddbfbb0f27198d82.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-wol-driver-4116f64907d0db9c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent_partition_image-48a03700f41a3980.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allinone-190ae91884d81154.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allinone-4ca71f150a718811.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-added-owner-policy-c650074e68d03289.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-api-6ac2d262689f5f59.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-backfill-c31e84c5fcf24216.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-delete-26c7c2f1651759f5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-node-name-46b473ec82662f7f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-owner-policy-162c43b3abb91c76.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocations-charset-5384d1ea00964bdd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocations-restricted-rbac-create-2847943150656432.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-allocation-update-94d862c3da454be2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-deleting-unbound-ports-fa78069b52f099ac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-pxelinux-config-folder-to-be-defined-da0ddd397d58dcc8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-set-interface-to-node-in-available-bd6f695620c2d77f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-to-attach-vif-to-active-node-55963be2ec269043.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_custom_certificate_validation-8ba00759ed79e429.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_to_disable_automated_clean-a3ccb1e19940a7a4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/always-return-chassis-uuid-4eecbc8da2170cb1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/amt-driver-wake-up-0880ed85476968be.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-based-deploy-option-sanity-b98fa138747c16d2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-config-drive-fixes-5880884e34584549.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-interface-c04932f6f469227a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-more-fixes-58d996c7031c8c4b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-instance-info-fix-a51837d8ac7b41de.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-permit-cert-validation-disable-6611d3cb9401031d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-deploy-15da234580ca0c30.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-device-name-filtering-0adfca7d8ba4cbcc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-fast-track-cbecb132b6ff2b14.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-loops-de0eef0d5b79a9ff.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/any-wsgi-8d6ccb0590104146.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/apache-multiple-workers-11d4ba52c89a13e3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-none-3fdca1ccbb64d9b0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-none-cdb95e58b69a5c50.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-workers-c06ea95a0c55b8cf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/append-params-a8b9f844328da83e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/assume-gpt-for-uefi-boot-mode-8f9c77721394459a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async-deprecate-b3d81d7968ea47e5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async_bios_clean_step-7348efff3f6d02c1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/auto-discovery-e90267eae7fb6f96.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/auto-ifaces-fdb8c680eab711f4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/automated_clean_config-0170c95ae210f953.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/backfill_version_column_db_race_condition-713fa05832b93ca5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/better-handle-skip-upgrade-3b6f06ac24937aa4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bfv-pxe-boot-3375d331ee2f04f2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-config-manage-ccefd24054cc73ee.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-interface-api-ref-ebf866cc7da2270b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-interface-api-ref-validate-ddb95461adb0e478.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-registry-support-e7fd62908e9c222d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-version-dfd5c95805c295c5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/blank-mac-f8e0b37e0bd6d719.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bmc_reset-warm-9396ac444cafd734.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-from-url-98d21670e726c518.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-ipxe-inc-workaround-548e10d1d6616752.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-validate-6b4b6b40c8e27273.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bootloader-copy-for-network-boot-190c713cb5e872d8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bootloader-install-fatal-6f1b9fed1d2c0ee4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bp-nova-support-instance-power-update-49c531ef13982e62.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/broken-driver-update-fc5303340080ef04.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1506657-3bcb4ef46623124d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1518374-decd73fd82c2eb94.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1548086-ed88646061b88faf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1570283-6cdc62e4ef43cb02.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1579635-cffd990b51bcb5ab.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1592335-7c5835868fe364ea.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1596421-0cb8f59073f56240.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1607527-75885e145db62d69.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611555-de1ec64ba46982ec.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611556-92cbfde5ee7f44d6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1626453-e8df46aa5db6dd5a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1648387-92db52cbe007fabd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1672457-563d5354b41b060e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1694645-57289200e35bd883.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1696296-a972c8d879b98940.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1702158-79bf57bd4d8087b6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749433-363b747d2db67df6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749860-457292cf62e18a0e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2001832-62e244dc48c1f79e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002062-959b865ced05b746.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002093-9fcb3613d2daeced.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2003972-dae9b7d0f6180339.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004265-cd9056868295f374.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004947-e5f27e11b8f9c96d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005377-5c63357681a465ec.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005764-15f45e11b9f9c96d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006266-85da234583ca0c32.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006275-a5ca234683ca4c32.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006334-0cd8f59073f56241.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007551-aliases-for-a-few-named-state-transitions-a32433ad65638706.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007567-wsman-raid-48483affdd9f9894.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007963-idrac-wsman-raid-apply-configuration-792ccf195057016b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2008058-fix-factory-reset-status.yaml-52a6119b46e33b37.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2009762-403eac24c4823d2d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2010613-3ab1f32aaa776f28.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2036455-edd0e97335579684.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30315-e46eafe5b575f3da.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30316-8c53358681e464eb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30317-a972c8d879c98941.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-35702-25da234580ca0c31.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-configdrive-5b3b9095824faf4e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-iso-from-esp-d156036aa8ef85fb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-uefi-only-iso-ce6bcb0da578d1d6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build_instance_info-c7e3f12426b48965.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bump-min-ansible-ver-a78e7885c0e9d361.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bye-bye-iscsi-658920cf126db0b8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cache-agentclient-per-task-ec2231684e6876d9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cache-firmware-components-485b3343ba1db5ee.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/caseless-conductor-restart-check-f70005fbf65f6bb6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/catch-all-cleaning-exceptions-1317a534a1c9db56.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/catch-third-party-driver-validate-exceptions-94ed2a91c50d2d8e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-c9c01700dcfd599b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-default-boot-option-to-local-8c326077770ab672.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-default-rbac-policy-f2f154043910f26a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-ipxe-default-file-a9ed5e17fc3d022e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-ramdisk-log-filename-142b10d0b02a5ca6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-updated-at-object-field-a74466f7c4541072.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change_default_use_ipmitool_retries-2529ce032eae7d1b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-dynamic-allocation-enabled-e94f3b8963b114d0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-for-whole-disk-image-uefi-3bf2146588de2423.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_obj_versions-e86d897df673e833.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_protocol_for_ironic_api-32f35c93a140d3ae.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cinder-2019892-6b5a9de5c5f05aa6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cipher_suite_versions-c64644860d3c220d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cisco-drivers-deleted-5a42a8c508704c64.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/classic-drivers-deprecation-de464065187d4c14.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clean-nodes-stuck-in-cleaning-on-startup-443823ea4f937965.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-bios-d74a4947d2525b80.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-error-5c13c33c58404b97.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-logs-dc115b0926ae3982.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-maintenance-7ae83b1e4ff992b0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-retry-fix-89a5d0e65920a064.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-token-9755f96d1284f78a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-ipxe-f1349e2ac9ec2825.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-provision-ports-before-retry-ec3c89c193766d70.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanwait_timeout_fail-4323ba7d4d4da3e6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-hung-iscsi-sessions-d3b55c4c65fa4c8b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-node-target-power-state-de1f25be46d3e6d7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-target-stable-states-4545602d7aed9898.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear_ca_cert-db41e7be9723c0fb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/collect-deployment-logs-2ec1634847c3f6a5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/concurrency-limit-control-4b101bca7136e08d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-groups-c22c17e276e63bed.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-metric-collector-support-1b8b8c71f9f59da4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-now-waits-when-low-on-memory-d73892a79cde0516.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-power-sync-timeout-extension-fa5e7b5fdd679d84.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-version-backfill-9d06f2ad81aebec3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor_early_import-fd29fa8b89089977.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-debug-ipa-1d75e2283ca83395.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-deploy-image-5adb6c1963b149ae.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/config-drive-support-for-whole-disk-images-in-iscsi-deploy-0193c5222a7cd129.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-format-1b11f6068bd742cd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-render-8eb398d956393d60.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-support-in-anaconda-deploy-f2aad59b4ff809ec.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-support-using-ceph-radosgw-8c6f7b8bede2077c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-vendordata-122049bd7c6e1b67.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive_use_object_store-93cfd7dc27d90003.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configure-notifications-72824356e7d8832a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/consider_embedded_ipa_error_codes-c8fdfaa9e6a1ed06.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/console-pid-file-6108d2775ef947fe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/console-port-allocation-bb07c43e3890c54c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/constrain-parent-node-to-uuids-51642cacfea0714d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/context-domain-id-name-deprecation-ae6e40718273be8d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/continue-node-deploy-state-63d9dc9cdcf8e37a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-api-version-check-conditional-for-nodename-439bebc02fb5493d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-detailed-instance-info-behavior-1375914a30621eca.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-source-path-handling-lookups-4ce2023a56372f10.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-on-conductor-c1c52a1f022c4048.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-port-on-conductor-b921738b4b2a5def.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create_csr_clean_step-a720932f61b42118.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create_node_indexes-841b679e6cf332fd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cross-link-1ffd1a4958f14fd7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/custom-agent-deploy-88989512c29a14c1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/custom-params-cleaning-f938549964ff6df0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/db-field-overhead-reduction-40be1821e38b468c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-check-version-c71d5f4fd89ed117.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-online_data_migration-edcf0b1cc3667582.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-no-api-tracebacks-a8a0caddc9676b06.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-sensor-data-fix-for-ipmitool-eb13e80ccdd984db.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/decomposed-steps-9644d3b5ccbad1ea.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/decouple-boot-params-2b05806435ad21e5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-boot-mode-changing-in-yoga-5012348ecfc2f45d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-policy-file-change-474a342d6b5a041a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-resource-class-e11bacfb01d6841b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-swift_account-b008d08e85bdf154.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default_boot_option-f22c01f976bc2de7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-api-url-eb2ea29aa63a2cb5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-cinder-url-cf43cd0336c22878.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-fatal_exception_format_errors-f63b15c8aa460dff.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dell-boss-raid1-ec33e5b9c59d4021.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deny-too-long-chassis-description-0690d6f67ed002d5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-iso-swift-355ad6eba6c511b4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-kernels-8998a9c301db483b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-configdrive-86ea2bb267211b88.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-error-d343e8cb7d1b2305.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-validate-76b2aa97e02ba669.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-steps-required-aa72cdf1c0ec0e84.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-templates-5df3368df862631c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy_steps-243b341cf742f7cc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deployment-cleaning-polling-flag-be13a866a7c302d7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-agent-passthru-67d1e2cf25b30a30.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-cisco-drivers-3ae79a24b76ff963.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-clustered-compute-manager-3dd68557446bcc5c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-dhcp-update-mac-address-f12a4959432c8e20.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-elilo-2beca4800f475426.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-glance-url-scheme-ceff3008cf9cf590.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-global-region-4dbea91de71ebf59.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-hash-distribution-replicas-ef0626ccc592b70e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-ibmc-9106cc3a81171738.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-idrac-config-molds-6ba6e557b11dd5ff.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-inspector-enabled-901fd9c9426046c7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-irmc-031f55c3bb1fb863.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-mulitple-driver-interfaces-e42e4fa1c960f596.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-oneview-drivers-5a487e1940bcbbc6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-support-for-glance-v1-8b194e6b20cbfebb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-config-af9b753f96779f42.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-d687571fb65ad099.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-cinder-opts-e10c153768285cab.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-glance-opts-4825f000d20c2932.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-0520b08dbcd10681.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-b19a08339712cfd7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-ops-79abab5b013b7939.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-opts-2e1d9e65f00301d3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/destroy-broken-8b13de8382199aca.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-less-less-2a35df67d840f9d5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-provider-clean-dhcp-9352717903d6047e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpless-deploy-4b91de74adeff781.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpv6-stateful-address-count-0f94ac6a55bd9e51.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-deploy-steps-36486987156017d7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-fast-track-d0f43850b6e80751.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-file-6f80728d76093530.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-clean-step-reset-ilo-1869a6e08f39901c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-ramdisk-5156a009812fbb17.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_task-590a91c0a5235cfb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_tasks-0ea39fa7a8a108c6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-capability-d36d126e0ad36dca.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-fix-7580de913835ff44.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dnsmasq_dhcp-9154fcae927dc3de.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-cleanup-cache-twice-0395a50ad723bca8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-validate-local_link_connection-when-port-has-client-id-8e584586dc4fca50.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-double-manage-provide-cycle-6ac8a427068f87fe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-get_bios_config-vendor-passthru-causes-exception-1e1dbeeb3e924f29.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-oob-cleaning-b4b717895e243c9b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-power-on-reboot-race-condition-fe712aa9c79ee252.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-prepare-cleaning-d74ba45135d84531.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-raid10-greater-than-16-drives-a4cb107e34371a51.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-inspection-interface-b0abbad98fec1c2e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-list-unfinished-jobs-10400419b6bc3c6e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-migrate-to-dracclient-2bd8a6d1dd3fdc69.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-missing-lookup-3ad98e918e1a852a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-raid-interface-f4c02b1c4fb37e2d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac_host-deprecated-b181149246eecb47.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drain-5eafd17e0868e21a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/driver-maintenance-0945c2939fa4e917.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-ironic-lib-rootwrap-filters-f9224173289c1e30.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-py-2-7-5140cb76e321cdd1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dual-stack-ironic-493ebc7b71263aaa.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/duplicated-driver-entry-775370ad84736206.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-allocation-spt-has-physical-mac-8967a1d926ed9301.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-driver-list-show-apis-235e9fca26fc580d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/emit-metrics-for-api-calls-69f18fd1b9d54b05.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/empty-physical-network-2248a4adef210289.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enable-osprofiler-support-e3839b0fa90d3831.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enhanced-checksum-f5a2b7aa8632b88f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ensure-unbind-flat-vifs-and-clear-macs-34eec149618e5964.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/erase-devices-metadata-config-f39b6ca415a87757.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/error-resilient-enabled_drivers-4e9c864ed6eaddd1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/exclude-current-conductor-from-offline-conductors-2e2ef401a8b7d7e8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/explicit_ipxe_config_options-d7bf9a743a13f523.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/expose-conductor-d13c9c4ef9d9de86.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/extends-install-bootloader-timeout-8fce9590bf405cdf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/external-ip-5ec9b7b55a90cec4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fail-fast-on-lookup-lock-a408feac87890050.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fail-when-vif-port-id-is-missing-7640669f9d9e705d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake-interfaces-9778071f6379227b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake-noop-bebc43983eb801d1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake_soft_power-32683a848a989fc2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fakedelay-7eac23ad8881a736.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-bios-fa9ae685c151dd24.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-deployment-f09a8b921b3aae36.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-opt-d50eab2cc58fddcb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-per-node-1fc62918e03fd74a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-steps-81bd79a2a91e1b30.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-validate-723f27986a012ffe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-with-cleaning-438225116a11662d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fifteen-0da3cca48dceab8b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/file-name-too-long-72265bb3fec704f8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/file-symlink-b65bd6b407bd1683.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fips-hashlib-bca9beacc2b48fe7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/firmware-fail-c6f6c70220373033.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/firmware-interface-8ad6f91aa1f746a0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-clean-up-9a25deb85bc53d9b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-ilo-temp-image-cleanup-711429d0e67807ae.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-allocation-exception-on-list-c04e93fb9cace218.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-anaconda-deploy-interface-bfa2cfca22b04680.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-access-logs-68b9ca4f411f339c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-node-name-updates-f3813295472795be.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-baremetal-admin-user-not-neutron-admin-f163df90ab520dad.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-60bc0790ada62b26.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-71c1f2905498c50d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-url-for-v6-802abde9de8ba455.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-bug-1675529-479357c217819420.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-busy-agent-check-3cf75242b4783009.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-capabilities-as-string-agent-7c5c7975560ce280.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-clean-steps-not-running-0d065cb022bc0419.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-spawn-error-60b60281f3be51c2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-stuck-on-networkerror-4aedbf3673413af6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-with-traits-3a54faa70d594fd0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-conductor-list-raise-131ac76719b74032.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-console-port-conflict-6dc19688079e2c7f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-context-image-hardlink-16f452974abc7327.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cpu-count-8904a4e1a24456f4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-create-configuration-0e000392d9d7f23b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cve-2016-4985-b62abae577025365.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-db-sqlite-OperationalError-7934dbda2a21c69e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-delete_configuration-with-multiple-controllers-06fc3fca94ba870f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-dir-permissions-bc56e83a651bbdb0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-disk-identifier-overwrite-42b33a5a0f7742d8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-do-not-tear-down-nodes-upon-cleaning-failure-a9cda6ae71ed2540.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drac-job-state-8c5422bbeaf15226.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drives-conversion-before-raid-creation-ea1f7eb425f79f2f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-duplcate-extra-dhcp-options-4edb729cb5bcf552.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-eject-media-dvd-b1994446ea71be9c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-esp-grub-path-9e5532993dccc07a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fast-track-entry-path-467c20f97aeb2f4b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fields-missing-from-next-url-fd9fddf8e70b65ea.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-boot-device-not-persistent-de6159d8d2b60656.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-deploy-info-port.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-gmr-37332a12065c09dc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-grub2-config-file-name-88e689a982a21684.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-grub2-uefi-config-path-f1b4c5083cc97ee5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-idrac-redfish-controller-mode-7b55c58d09240d3c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-idrac-wsman-deploy-with-existing-non-bios-jobs-78aa2195d0c3016f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-boot-interface-order-238a2da9933cf28c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-drivers-log-message-c3c64c1ca0a0bca8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-firmware-update-swift-path-with-pseudo-folder-0660345510ec0bb4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-inspection-for-idrac-34b3ea09452af8be.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-inspectwait-finished-at-4b817af4bf4c30c2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-instance-master-path-config-fa524c907a7888e5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipa-ephemeral-partition-1f1e020727a49078.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmi-numeric-password-75e080aa8bdfb9a2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmitool-console-empty-password-a8edc5e2a1a7daf6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-option6-tag-549093681dcf940c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-provisioning-routed-provider-network-bbd0c46559f618ac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-interface-without-opt-enabled-4fa2f83975295e20.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-macro-4ae8bc4fe82e8f19.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-template-for-whole-disk-image-943da0311ca7aeb5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-enforcing-snmpv3-with-fips-e45971d363925ec3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-inspection-c9ae3864a96b2588.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-s6-2.00-http-incompatibility-61a31d12aa33fbd8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-s6-2.00-ipmi-incompatibility-118484a424df02b1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-json-rpc-client-ssl-2438a731beb3d5f9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-keystone-parameters-cdb93576d7e7885b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-lldp-decode-00021e76db26b2a5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-48060f9e2847a38c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-update-with-contrail-b1e1b725cc0829c2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mitaka-ipa-iscsi.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-multi-attached-volumes-092ffedbdcf0feac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-net-ifaces-rebuild-1cc03df5d37f38dd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data-e10f2bf9dc38ba1a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data2-f2600afdcc182dc4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-nonetype-object-is-not-iterable-0592926d890d6c11.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-noop-net-vif-list-a3d8ecee29097662.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-not-exist-deploy-image-for-irmc-cb82c6e0b52b8a9a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deallocate-server-8256e279af837e5d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deploy-return-values-ab2ec6ae568d95a5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-periodics-0f535fe7a0ad83cd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-online-version-migration-db432a7b239647fa.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-overlooked-irmc-ipmi-incompatibility-patch-situation-c246d2b59b2e8a78.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-pagination-marker-with-custom-field-query-65ca29001a03e036.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-path-a3a0cfd2c135ace9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-policy-checkers-1a08203e3c2cf859.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-power-off-token-wipe-e7d605997f00d39d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-prepare-instance-for-agent-interface-56753bdf04dd581f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-provisioning-port-cleanup-79ee7930ca206c42.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-pxe-glance-lookup-anaconda-86fe616c6286ec08.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-reboot-log-collection-c3e22fc166135e61.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-bios-apply-configuration-error-handling-464695b09e4f81ac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-firmware-images-validation-9b5b2fd28314ce66.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-firmware-upgrade-7ef2fcb6bfd74e67.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-config-9e868c3e069475a1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-deploy-steps-e9ee1ea3d1f2a475.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-failed-tasks-02487c4698dea176.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-interface-type-4b3566b637cc2301.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-onreset-workflow-bfa44de6b0263a1f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-sadness-workaround-ed02cb310ff369f4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-vm-boot-idrac-37ec734e6643cbac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-security-group-list-add-query-filters-f72cfcefa1e093d2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-self-owned-node-policy-fc2dae357879dc33.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sendfile-size-cap-d9966a96e2d7db51.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sensors-storage-ed5d5bbda9b46645.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-console-subprocess-timeout-d3eccfe0440013d7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-pipe-not-ready-f860c4b7a1ef71a8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-socat-command-afc840284446870a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sqlite-locks-with-periodics-362de3c63bc23e4b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-step-priority-overrides-edecff2a6c68dcac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-subscription-vendor-passthru-5a9af3613c0cbebc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-binary-upload-bf9471fca29290e1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-ssl-options-d93d653dcd404960.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sync-power-state-last-error-65fa42bad8e38c3b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-system-scope-triggered-clean-22ada9b920c08365.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-tftp-master-path-config-77face94f5db9af7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-unix-socket-support-eaa0e350f4bfaf56.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-updating-node-driver-to-classic-16b0d5ba47e74d10.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-url-collisions-43abfc8364ca34e7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vif-detach-fca221f1a1c0e9fa.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-virtualbox-localboot-not-working-558a3dec72b5116b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vmedia-boot-method-label-8008f49ace96f1cc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-bios-async-step-error-handling-80cd30c54c71c595.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-raid-async-step-error-handling-f44e2001ac018d12.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-xclarity-management-defect-ec5af0cc6d1045d9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_anaconda-70f4268edc255ff4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_anaconda_pxe-6c75d42872424fec.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_boot_mode_switch_with_anaconda_deploy_with_ilo_drivers-16637adb62f0ed2f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_deploy_validation_resp_code-ed93627d1b0dfa94.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url-42fb4023fde9da2b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url_ports-8d2696a6a7ab012f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pending_non_bios_job_execution-4b22e168ac915f4f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_raid0_creation_for_multiple_disks-f47957754fca0312.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_secure_boot_with_anaconda_deploy-84d7c1e3bbfa40f2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-deployment-failure-with-fasttrack-f1fe05598fbdbe4a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-execution-of-out-of-band-deploy-steps-1f5967e7bfcabbf9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-get-boot-option-for-software-raid-baa2cffd95e1f624.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-ilo5-redfish-firmware-update-issue-c6dfcd71a2f659a5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-noop-network-with-grub-8fd99a73b593ddba.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/flag_always_reboot-62468a7058b58823.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-out-hung-ipmitool-process-519c7567bcbaa882.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-persistent-common-6ef2537f7ccd0dcb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/futurist-e9c55699f479f97a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/generic-virtual-media-attach-9625f8ac66093b76.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-bios-registry-aadc74800e0770f7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-commands-status-timeout-ecbac91ea149e755.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-supported-boot-devices-manadatory-task-0462fc072d6ea517.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-deprecations-21e7014b72a1bcef.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-keystone-dd30b884f07f83fb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-v2-83b04fec247cd22f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/gpu_dynamic_capabilities-b56b90549882b6c2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/graceful_shutdown_wait-9a62627714b86726.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/grub-default-change-to-mac-1e301a96c49acec4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-duplicate-node-inventories-fc41a7decbb6da76.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-dvd-only-vmedia-f4971a013a8aafd0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-initial-version-no-such-table-54c3c291050ae787.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-missing-bios-supportedapplytimes-attr-fbacc7ca3c399e83.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-missing-ethernetinterfaces-attr-7e52f7259fe66762.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-missing-table-in-status-check-512c1732dec56f62.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-older-agent-command-5930124fd03bb327.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-uefi-disk-pxe-persistance-0d871825591918b5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-6ce212ab86c2592d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-algo-4337c18117b33070.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-race-da0d584de1f46788.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hctl-root-device-hints-0cab86673bc4a924.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat-locked-6e53b68337d5a258.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat_agent_version-70f4e64b19b51d87.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hexraw-support-removed-8e8fa07595a629f4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/html-errors-27579342e7e8183b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-basic-auth-f8c0536eba989918.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-local-4e8f32c6d5309f12.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hw-ifaces-periodics-af8c9b93ecca9fcd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-38-169438974508f62e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-driver-45fcf9f50ebf0193.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmcclient-fix-8c6cb49be0aef5f2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-ehba-support-10b90c92b8865364.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-gpu-reporting-support-f4d80e2071f85f6a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-initial-redfish-support-27f27f18f3c1cd91.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-more-gpu-support-c3e24d8471ed6759.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-bios-support-3633d2fc94d31f62.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-boot-support-036396b48d3f71f4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-inspect-support-ce74bd3d4a97b588.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-raid-support-414aad5e633a160f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-advance-python-dracclient-version-01c6ef671670ffb3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-jbod-to-raid-1a229627708e10b9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-raid-to-jbod-de10755d1ec094ea.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-firmware-3839648d729d9c7c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-deprecated-idrac-interface-__init__-362696b389c86d5d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-reboot-failure-c740e765ff41bcf0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-hardware-type-54383960af3459d0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-conf-partial-success-86b8bd1983d227f6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-configuration-task-deleted-2a0e6a96509394b6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-clean-steps-not-require-ramdisk-699e169af39b0dd6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-raid-clear-foreign-config-9ce4ec35cf6d7225.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-raid-convert-from-nonraid-e9b5bbac89c71537.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-remove-commit_required-d9ea849e8f5e78e2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-uefi-boot-mode-86f4694b4247a1ca.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-bios-interface-b39a51828f61eff6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-clean-steps-not-require-ramdisk-ca98aa5c0a88f727.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-completed-with-errors-f65c9a48ed4c02d4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-set-power-state-wait-cd8f9ff41b19c7a7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-async-bios-clean-steps-15e49545ba818997.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-automated-cleaning-fails-14ee438de3dd8690.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-bios-settings-bc91524c459a4fd9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-from-iscsi-volume-41e8d510979c5037.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-interface-92831b78c5614733.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-iso-696b57f44f29852d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-certificate-verification-enhancement-8eefd541cfc2a9da.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-deploy-iso-0c88edb5daff8a4e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-do-not-power-off-non-deploying-nodes-0a3aed7c8ea3940a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-driver-firmware-upgrade-supports-sha256-sha512-ae76569042750a07.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-erase-device-priority-config-509661955a11c28e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-event-subscription-0dadf136411bd16a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-firmware-update-manual-clean-step-e6763dc6dc0d441b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-inspection-b169ad0a22aea2ff.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-uefi-iscsi-boot-702ced18e28c5c61.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-hardware-type-48fd1c8bccd70659.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inconsistent-default-boot-mode-ef5a7c56372f89f1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inject-nmi-f487db8c3bfd08ea.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-license-activate-manual-clean-step-84d335998d708b49.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-managed-inspection-8b549c003224e011.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-prefix-d5a65ac637f82f65.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-remove-deprecated-power-retry-ba29a21f03fe8dbb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-soft-power-operations-eaef33a3ff56b047.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-support-boot-mode-management-apis-8173002daf79894c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-update-proliantutils-version-fd41a7c2a27be735.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-vendor-e8d299ae13388184.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-one-button-secure-erase-f55628f8aa767c20.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-raid-a0eac60f7d77a4fc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-sanitize-disk-erase-cc76ea66eb5fe6df.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-4082178dabd64249.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-size-28a9072901b98edf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-checksum-recalculation-sha256-fd3d5b4b0b757e86.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-download-http-976c82f440c61c96.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-no-data-c281f638d3dedfb2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-type-ac259a90393bdd2c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_checksum_optional-381acf9e441d2a58.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_download_source-842282c70b226e93.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_rootfs_uuid-1ea54ba043d1aeaf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/implement-policy-in-code-cbb0216ef5f8224f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-conductor-shutdown-42687d8b9dac4054.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-redfish-set-boot-device-e38e9e9442ab5750.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improves-node-retrieval-performance-cf5a02eb629bf32c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/in-band-steps-e4a1fe759029fea5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/increase_node_history_user_column_limit-8da6ae03288bff26.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/initial_grub-566688b16f773fcf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/initrd_filename-ac68e96f1c9fb576.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inject-nmi-dacd692b1f259a30.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-agent-drivers-cad619ec8a4874b1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-boot-network-59fd23ca62b09e81.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-fast-track-ab5165e11d3e9522.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-logging-e1172f549ef80b04.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-token-b3d9e8e34341d680.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-enabled-f8a643f03e1e0360.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-for-cisco-bffe1d1af7aec677.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-kernel-params-6db82c633d7361e2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-periodics-34449c9d77830b3c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-pxe-boot-9ab9fede5671097e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-session-179f83cbb0dc169b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-boot-mode-25732c767593f849.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-interface-override-287c7fcff1081469.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-interface-override-fix-043df41199529892.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-root-device-0a5190240fcc8fd8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/intel-ipmi-hardware-30aaa65cdbcb779a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/invalid-mac-b0e3d99f23afeb30.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/invalid_cross_device_link-7ecf3543a8ada09f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-command-retries-and-timeout-29b0be3f2c21328c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-erase_devices-skip-read-only-9f8cd9278c35a84e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-streams-raw-images-1010327b0dad763c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cipher-suite-499097740f7c86ee.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cmd-for-ipmi-consoles-2e1104f22df3efcd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-console-port-ec6348df4eee6746.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-debug-1c7e090c6cc71903.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-disable-timeout-option-e730362007f9bedd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-noop-mgmt-8fad89dc2b4665b8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-retries-min-command-interval-070cd7eff5eb74dd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_command_retry_timeout-889a49b402e82b97.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_hex_kg_key-8f6caabe5b7d7a9b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipminative-bootdev-uefi-954a0dd825bcef97.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-bootdev-persistent-uefi-b1181a3c82343c8f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-use_ipmitool_retries-b55b2b8ed5cab603.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-vendor-3f0f52240ebbe489.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipv6-provision-67bd9c1dbcc48c97.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-and-uefi-7722bd5db71df02c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-boot-interface-addition-faacb344a72389f2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-command-line-ip-argument-4e92cf8bb912f62d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-default-628380290fbdbab6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-dhcp-b799bc326cd2529a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-fallback-a10c8ce422caa429.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-uefi-f5be11c7b0606a84.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-use-swift-5ccf490daab809cc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-with-dhcpv6-2bc7bd7f53a70f51.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_retry_on_failure-e71fc6b3e9a5be3b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_timeout_parameter-03fc3c76c520fac2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-certification-file-option-34e7a0062c768e58.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-clean-step-reset-bios-config-a8bed625670b7fdf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-snmp-auth-protocols-3ff7597cea7ef9dd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-snmpv3-security-fca05bfc30f50d1a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-additional-capabilities-4fd72ba50d05676c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-align-with-ironic-default-boot-mode-dde6f65ea084c9e6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-append-params-380a281db43e6013.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-from-volume-4bc5d20a0a780669.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-interface-8c2e26affd1ebfc4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-iso-0e93f97acfa59778.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-change-boot-interface-order-e76f5018da116a90.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-change-the-way-to-get-irmc-info-in-raid-8ef5f5f60d1f534a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-convert-the-value-of-irmc-port-63c90450b5a77203.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-dealing-with-ipxe-boot-interface-incompatibility-7d0b2bdb8f9deb46.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-fix-repeatedly-resuming-clean-020f0dfc2e30d7bc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-bios-configuration-1ad24831501456d5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-create-raid-configuration-bccef8496520bf8c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-oob-inspection-6d072c60f6c88ecb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-set-polling-after-raid-build-5f78ee3e93a92553.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-support-ipmitool-power-a3480a70753948e5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11-prelude-6dae469633823f8d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11.1-prelude-b5ba8134953db4c2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-12.0-prelude-9dd8e80a1a3e8f60.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-antelope-prelude-0b77964469f56b13.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-cfg-defaults-4708eed8adeee609.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-python-agent-multidevice-fix-3daa0760696b46b7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-status-upgrade-check-framework-9cd216ddf3afb271.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-ansible-steps-817b52269d2455b0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-deprecation-eb184141f88e7182.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-inband-cleaning-bff87aac16e5d488.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-optional-cpu-arch-ebf6a90dde34172c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-verify-attempts-28b1d00b13ba365a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-whole-disk-cd464d589d029b01.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iso-cache-5330b63c9e3a02db.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/issue-conntrack-bionic-7483671771cf2e82.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-0edc429696aca6f9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-bind-a0348cc6f5efe812.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-ipv6-host-30eca350f34bc091.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-timeout-ac30eea164b3a294.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json_rpc_http_basic-42dfc6ca2471a30e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonrpc-logging-21670015bb845182.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema-4.8-1146d103b877cffd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema-966f55fc79b916fc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema_draft04-1cb5fc4a3852f9ae.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/kernel-ramdisk-by-arch-c35cd2fe09f6ee98.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystone-auth-3155762c524e44df.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-adapter-opts-ca4f68f568e6cf6f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-config-1baa45a0a2dd93b4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/kill-old-ramdisk-6fa7a16269ff11b0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/known-issue-idrac-firmware-swift-721a19cac796e1ae.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/known-issue-idrac-firmware-swift-fixed-f9d30e60a53d96c4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/limit-boot-to-disk-calls-lenovo-39763bfc98f602d8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/limit-memory-consumption-c7949a49853ba83d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/list-nodes-by-driver-a1ab9f2b73f652f8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lockutils-default-logging-8c38b8c0ac71043f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/logging-keystoneauth-9db7e56c54c2473d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-heartbeat-f9772521d12a0549.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-ignore-malformed-macs-09e7e909f3a134a3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-many-bmcs-b019f3599c8e8da7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-terminal-session-timeout-configurable-b2365b7699b0f98b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-versioned-notifications-topics-configurable-18d70d573c27809e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-abort-d3d8985a5de7376a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-clean-4cc2437be1aea69a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-configdrive-contents-77fc557d6bc63b2b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-ssh-creds-54ab7b2656578d2e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/max_concurrent_deploy-7a31ba142bf5ad5c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/maximum-disk-erasure-concurrency-6d132bd84e3df4cf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mdns-a5f4034257139e31.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/messaging-log-level-5f870ea69db53d26.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/metrics-notifier-information-17858c8e27c795d7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate-inspector-48de1216ef81f43a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate-to-pysnmp-hlapi-477075b5e69cc5bc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_to_hardware_types-0c85c6707c4f296d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_vif_port_id-5e1496638240933d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/min-sushy-version-change-3b697530e0c05dee.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/minor-agent-version-cleanup-842e3919a366b9d6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/missing-sw-raid-b7fdc9259612970d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multi-arch-deploy-bcf840107fc94bef.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multiple-workers-for-send-sensor-data-89d29c12da30ec54.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multitenant-networking-0a13c4aba252573e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-root-device-hints-a1484ea01e399065.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-suffix-47aea2d265fa75ae.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/needs-agent-version-in-heartbeat-4e6806b679c53ec5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/net-names-b8a36aa30659ce2f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/netboot-deprecation-fe5751a47df2d0b7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/netboot-fallback-b208b2c3b40a0d01.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network-flat-use-node-uuid-for-binding-hostid-afb43097e7204b99.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network_data_schema-9342edf3c47b2a66.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-timeout-cbd82e1d09c6a46c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-update-598183909d44396c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/new_capabilities-5241619c4b46a460.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/newton-driver-deprecations-e40369be37203057.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/next-link-for-instance-uuid-f46eafe5b575f3de.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-cache-df7caa45f3d8b6d7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-drivers-e68d8527491314c3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-idrac-4fbf1ba66c35fb4a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ilo-7822af6821d2f1cc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ipmi-7ec52a7b01e40536.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-irmc-3a606045e87119b7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-oneview-e46ee2838d2b1d37.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-snmp-b77d267b535da216.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ucs-cimc-7c62bb189ffbe0dd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-coreos-f8717f9bb6a64627.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-cpus-c79717303470bf3c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-deploy-rpc-dec8ee1d0326d1ad.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-downward-sql-migration-52279e875cd8b7a3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-308b50d4ab83ca7a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-bootif-505cc5bf48e7731f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-glance-v1-d249e8079f46f40c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-heartbeat-retries-d6837684e7257249.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-instance-uuid-workaround-fc458deb168c7a8b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-last-error-overwrite-b90aac3303eb992e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-more-legacy-auth-eeb32f907d0ab5de.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-netboot-d08f46c12edabd35.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-power-on-842b21d55b07a632.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-recalculate-653e524fd6160e72.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-root-8127c35b4702d242.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-root-device-as-kernel-param-5e5326acae7b77a4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-sensors-in-maintenance-7a0ecf418336d105.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-ssh-drivers-6ee5ff4c3ecdd3fb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-tokenless-agents-c6c16d79ccc0da7a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-trustedboot-01322dbaf33f8df8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-boot-mode-0662effa2a2644dc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-boot-mode-change-api-c5e392e3cd6ea54b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-creation-no-longer-scope-restricted-b455f66a751f10ec.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-credentials-cleaning-b1903f49ffeba029.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-deletion-update-resources-53862e48ab658f77.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-fault-8c59c0ecb94ba562.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-in-maintenance-fail-afd0eace24fa28be.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-iso-external_http_url-c5e3fa9ae4960dd6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-lessee-4fb320a597192742.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-name-remove-720aa8007f2f8b75.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-network-data-6f998aaa57020f4b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-d7168976bba70566.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-ports-1d3193fd897feaa6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-provision-fix-ee2348b5922f7648.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-save-internal-info-c5cc8f56f1d0dab0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-storage-interface-api-1d6e217303bd53ff.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-stuck-when-conductor-down-3aa41a3abed9daf5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-traits-2d950b62eea24491.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-update-instance-info-extra-policies-862b2a70b941cf39.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/nodes-classic-drivers-cannot-set-interfaces-620b37c4e5c88b80.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/non-persistent-boot-5e3a0cd78e9dc91b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/noop-mgmt-a4b1a248492c7638.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/not-heartbeat-the-conductor-with-sqlite-7cfc71e717d69bc5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notifications_driver_internal_info-3012f9834b6ade6b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-node-storage-interface-7fd07ee7ee71cd22.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-topic-451493784ce45e73.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notimplementederror-misspell-276a181afd652cf6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ocata-summary-a70f995cb3b18e18.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-agent-mixin-removal-b7277e8f20df5ef2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-hardware-type-69bbb79da434871f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-inspection-interface-c2d6902bbeca0501.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-node-free-for-ironic-61b05fee827664cb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-onetime-boot-64a68e135a45f5e2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timeout-power-db5125e05831d925.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timing-metrics-0b6c1b54e80eb683.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/online_data_migration_update_versions-ea03aff12d9c036f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/only_default_flat_network_if_enabled-b5c6ea415239a53c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oob-power-off-7bbdf5947ed24bf8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/opentack-baremetal-request-id-daa72b785eaaaa8d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-driver-task-pattern-322e02b6a2233919.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-ramdisk-log-filename-270c401780b16e9c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/option-no-cache-http-ramdisk-62fc29cdd1d5b152.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optional-redfish-system-id-3f6e8b0ac989cb9b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/orphan-nodes-389cb6d90c2917ec.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-i18n-optional-76bab4d2697c6f94.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-proxy-headers-middleware-22188a2976f8f460.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-reports-optional-59469955eaffdf1d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/osprofiler-61a330800abe4ee6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/override-external_http_url-per-node-f5423b00b373e528.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ovn-support-6666dfa2e99e7ad4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ovn-vtep-switch-support-506686368ebf17c6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/parallel-6c54b4131b4ba991.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/parallel-erasure-1943da9b53a2095d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/partprobe-retries-e69e9d20f3a3c2d3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-metrics-config-to-agent-on-lookup-6db9ae187c4e8151.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-region-to-swiftclient-c8c8bf1020f62ebc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass_portgroup_settings_to_neutron-a6aec830a82c38a3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/periodic-clean-up-29c33d2516bf16ec.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/periodic-tasks-drivers-ae9cddab88b546c6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/permit-conductor-to-start-without-neutron-networks-d4aa21654f9c07bf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/permit-ironic-to-tell-agent-about-md5-support-5c94da38c2f5dd10.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/persist-redfish-sessions-d521a0846fa45c40.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pin-api-version-029748f7d3be68d1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-0-is-valid-d7188af3be6f3ecb.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-in-conductor-a354a2665effca2e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-bad-request-078512862c22118e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-by-project-8cfaf3b2cf0dd627.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-local-link-connection-network-type-71103d919e27fc5d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-physical-network-a7009dc514353796.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port_delete-6628b736a1b556f6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-crud-notifications-91204635528972b2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-mac-649ed31c3525e4f0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-fault-recovery-6e22f0114ceee203.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-off-token-0403e8a054f31125.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/poweroff-after-10-tries-c592506f02c167c0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-seventeen-638544be837c54fa.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-victoria-e65b4c63ce1e1a7a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-to-the-stein-f25b6073b6d1c598.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prepare-for-sqlalchemy-20-e817f340f261b1a2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-callback-url-from-being-updated-41d50b20fb236e82.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-ports-with-vif-deletion-3edac3df5aa1becf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-pxe-retry-when-token-exists-a4f38f7da56c1397.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/project-scoped-rbac-063c44ba593bb82a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/proliantutils_version_update-b6e5ff0e496215a5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-650acb2c8a387e17.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-unset-0620b844afbb635e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/provide_mountpoint-58cfd25b6dd4cfde.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-append-params-9cd5831959676371.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-boot-mode-9084ccf35e54bbc0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-enabled-ports-check-c1736215dce76e97.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-filter-b57b7f5f2b1e1974.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-onadopt-7214eba4f5822e1a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-retry-762a00ba1089bd75.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-snmp-driver-supported-9c559c6182c6ec4b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-takeover-d8f14bcb60e5b121.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/queens-prelude-61fb897e96ed64c5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/radosgw-temp-url-b04aac50698b4461.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-dell-boss-e9c5da9ddceedd67.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-hints-c27097ded0137f7c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-max-c0920cc44b9779ee.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-remove-root-hint-ec87efd18e894256.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-to-support-jbod-568f88207b9216e2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raise-bad-request-exception-on-validating-inspection-failure-57d7fd2999cf4ecf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-boot-fails-4e8286e6a4e0dfb6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-clean-2d3b033a401b911b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-cleaning-f4e061f978bd6ac4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-configdrive-142149339dd00b47.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-deploy-384a38c3c96059dd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-grub-use-user-kernel-ramdisk-7d572fe130932605.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-image-download-source-7a071aba7890ba95.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-params-6083bfaa7ffa9dfe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-validate-acbc4acdb71d10c2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raw_image_growth_factor-cba37029650e67db.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reactive-ibmc-driver-d2149ca81a198090.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reboot-do-not-power-off-if-already-1452256167d40009.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rebuild-configdrive-f52479fd55b0f5ce.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-500-fea3a8f86c0aecc7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-add-root-prefix-03b5f31ec6bbd146.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-append-params-4d28d922484c2731.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-attach-detach-vmedia-0056faf815724d10.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-autocreate-ports-53712a46dadd8203.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-bios-interface-a1acd8122c896a38.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-a44fc569f1baca8f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-override-not-present-handling-92e7263617e467c4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-config-usb-3e9a7543b2912ae7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-connection-cache-pool-accesserror-743e39a2f017b990.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-default-c7b2268606172bba.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-deploy-iso-60873289278bf28f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-deploy-iso-9671ae83108f6385.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-eject-iso-9875388ae09bc8f6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-firmware-sha256-sha512-3e40c3a087fe42b4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-firmware-update-a06d0624325a66ca.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-fix-bios-settings-apply-time-9b50979d2afc0d27.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-fix-raid-creation-f437066b1301c032.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-iso-pregenerated-97040711c4537726.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-managed-inspection-936341ffa8e1f22a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-noop-mgmt-b61d02b77b1c9d6b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-power-87062756bce8b047.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-priorities-adf4b7bfbee0ca25.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-raid-get-drives-fix-18d46f3e7275b0ef.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-raid-interface-e362e7a0e7140962.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-raid-set-volume-name-76205f8bb7dd2bb8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-raid-volume-name-fix-187c1b3e9f89cff3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-ramdisk-no-agent-490b5edb0b2387e5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-sadness-6e2a37b3f45ef1aa.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-secure-boot-8e3b2fcad137e31e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-use-storage-over-simplestorage-ccb3e0e38bfe8712.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-virtual-media-permission-fix-1909b9cdbbbf9fd1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-opt-59cafdde83fb2be7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-vendor-fc76086893d99415.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish_consider_password_in_session_cache-1fa84234db179053.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish_mgmt_clean_steps-c983a8858835046d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redundant-maintenance-09849674334f656a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/refactor-ironic-lib-22939896d8d46a77.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/register_hardware_interfaces_together-7b458a59f5e8f41f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-4.3.0-cc531ab7190f8a00.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-reservation-on-conductor-stop-6ebbcdf92da57ca6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/releasenote-b3b25c13ea1e2844.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reloadable-301ec2aa421abf66.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rely-on-standalone-ports-supported-8153e1135787828b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removal-pre-allocation-for-oneview-09310a215b3aaf3c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-400a563030224c4f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-DEPRECATED-options-from-[agent]-7b6cce21b5f52022.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-heartbeat-timeout-abf8787b8477bae7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-432b18e6c430cee6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-complete-a6b2df65b95889d5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent_last_heartbeat-65a9fe02f20465c5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ansible_deploy-driver-options-a28dc2f36110a67a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-app-wsgi-d5887ca28e4b9f00.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clean-nodes-38cfa633ca518f99.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clustered-compute-manager-6b45ed3803be53d1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-build-instance-info-for-deploy-2fe165fc018010e4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-deploy-erase-devices-iterations-55680ab95cbce3e9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-method-89926a8f0f4793a4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-methods-582742f3000be3c7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-drac_host-865be09c6e8fcb90.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-hash_distribution_replicas-08351358eba4c9e1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-ilo-clean-priority-erase-devices-bb3073da562ed41d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-option-names-6d5d53cc70dd2d49.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-discoverd-group-03eaf75e9f94d7be.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-object-periodic-tasks-1357a1cd3589becf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-periodic-task-f5e513b06b601ce4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-elilo-support-7fc1227f66e59084.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-enabled-drivers-5afcd77b53da1499.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-exception-message-92100debeb40d4c7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-excess-allocation-fk-constraints-0f59170f4d164a6e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-extra-vif-port-id-ea4e59176c2065fd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-filename-param-from-vmedia-url-bf4773ede44f2206.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-glance-num-retries-24898fc9230d9497.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-inspecting-state-support-10325bdcdd182079.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipmi-retry-timeout-c1b2cf7df6771a43.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipminative-driver-3367d25bbcc41fdc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-enabled-opt-61d106f01c46acab.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-tags-with-ipv6-cf4b7937c27590d6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-deploy-ipa-mitaka-c0efa0d5c31933b6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-verify-attempts-ede5b56b0545da08.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-locks-first-d12ac27106f800f8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-manage-tftp-0c2f4f417b92b1ee.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-messaging-aliases-0a6ba1ed392b1fed.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-metric-pxe-boot-option-1aec41aebecc1ce9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-model-query-from-upgrade-af227b6c8a5d654a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-most-unsupported-049f3401c2554a3c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-neutron-client-workarounds-996c59623684929b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-nomodset-7a352a9519c1045b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-oneview-9315c7b926fd4aa2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-periodic-interval-45f57ebad9aaa14e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-policy-json-be92ffdba7bda951.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-pxe-http-5a05c54f57747bfe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-python-oneviewclient-b1d345ef861e156e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-radosgw-config-b664f3023dc8403c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-seqdiag-dependency-bfe9daea763dc0a3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ssh-power-port-delay-7ae6e5eb893439cd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-verbose-option-261f1b9e24212ee2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-vifs-on-teardown-707c8e40c46b6e64.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove_pxe_ip_version-7a71f821ded28360.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove_vagrant-4472cedd0284557c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-glance-host-port-protocol-dc6e682097ba398f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-keystone-section-1ec46442fb332c29.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rename-iso-builder-func-46694ed6ded84f4a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/replace-neutronclient-with-openstacksdk-20c06d9d0316c2df.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/require-managed-boot-7d8965d4ac5fbd21.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/require-managed-boot-c33e8aa9cba1502c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/require-tls-3880e6bec3075f4d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-ilo-hardware-type-2392989d0fef8849.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-irmc-hardware-type-17e38197849748e0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-node-87e3b673c61ef628.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reserved-node-names-67a08012ed1131ae.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reserved-workers-3cc0af8782b00fcc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reset-interface-e62036ac76b87486.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-class-change-563797d5a3c35683.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-classes-1bf903547236a473.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resources-crud-notifications-70cba9f761da3afe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restart-console-on-conductor-startup-5cff6128c325b18e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restrict-sync-mode-after-device-to-supermicro-218e8cb57735c685.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restricted-allocation-creation-fix-a70dfcbcb9996602.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resume-cleaning-post-oob-reboot-b76c23f98219a8d2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/retry-vmedia-1999742c84f11103.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reusing-oneview-client-6a3936fb8f113c10.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rolling-upgrades-ccad5159ca3cedbe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-api-version-info-9dd6cadd3d3d4bbe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-device-hints-rotational-c21f02130394e1d4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rpc-none-f05dac657eef4b66.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/scciclient-0.4.0-6f01c0f0a5c39062.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-boot-cf1c134bfb75768d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-api-version-increment-1785544f54a487b3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-policy-sanitization-performance-dc7886952144bb04.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/security_groups-b57a5d6c30c2fae4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/send-sensor-data-for-all-nodes-a732d9df43e74318.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/server_profile_template_uri-c79e4f15cc20a1cf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/service-exit-77bcf3a538fab4bc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/service-project-service-role-fix-e4d1a8c23856926a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/service-wait-e85cbe7978f61764.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/set-boot-mode-4c42b3fd0b5f5b37.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/setting_provisioning_cleaning_network-fb60caa1cf59cdcf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shard-support-a26f8d2ab5cca582.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shellinabox-locking-fix-2fae2a451a8a489a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shred-final-overwrite-with-zeros-50b5ba5b19c0da27.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sighup-service-reloads-configs-0e2462e3f064a2ff.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/silence-rbac-deprecation-for-now-779898e720a7bf4e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/simplify-standalone-anaconda-use-7160d0d3401e468e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-clear-job-queue-idrac-reset-if-attr-missing-b2a2b609c906c6c4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-nonraid-controllers-f4a79e2c9e8080ce.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-power-sync-for-adoptfail-d2498f1a2e997ed7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/smartnic-logic-has-merged-in-neutron-79078280d40f042c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-driver-udp-transport-settings-67419be988fcff40.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-hardware-type-ee3d471cf5c596f4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-noop-mgmt-53e93ac3b6dd8517.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-outlet-validate-ffbe8e6687172efc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-reboot-delay-d18ee3f6c6fc0998.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp_add_power_action_delay-eba6c3a9cbd6ada3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-address-conf-5cf043fabb10bd76.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-console-port-alloc-ipv6-26760f53f86209d0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-respawn-de9e8805c820a7ac.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-power-operations-oneview-e7ac054668235998.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-reboot-poweroff-9fdb0a4306dd668d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-4a88e6c5af9ea742.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-with-uefi-5b88e6c5af9ea743.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sofware_raid_use_rootfs_uuid-f61eb671d696d251.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sort_key_allowed_field-091f8eeedd0a2ace.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/spawn-error-2249f94606388fbd.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sqlite-fk-8c87a308a02d49bf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ssh-console-58721af6830f8892.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sslerror-287edf7f8b3c5f1c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/stop-console-during-unprovision-a29d8facb3f03be5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002600-return-503-if-no-conductors-online-ead1512628182ec4.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002637-4825d60b096e475b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004266-4725d327900850bf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004444-f540d9bbc3532ad0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006217-redfish-bios-cleaning-fails-fee32f04dd97cbd2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006218-uefi-iso-creation-fails-ba0180991fdd0783.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006223-ilo-hpsum-firmware-update-fails-622883e4785313c1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006288-ilo-power-on-fails-with-no-boot-device-b698fef59b04e515.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006316-raid-create-fails-c3661e185fb11c9f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006321-ilo5-raid-create-fails-1bb1e648da0db0f1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2008323-fix-stuck-deploying-state-43d51149a02c08b8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/streaming-partition-images-d58fe619658b066e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/string-list-6098010bfdce9149.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sum-based-update-firmware-manual-clean-step-e69ade488060cf27.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/supermicro-redfish-override-enabled-aa51686ed33d3061.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-httpheaders-in-create-subscription-e383137f0db1ae21.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-irmc-driver-again-589db26927e32847.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-root-device-hints-with-operators-96cf34fa37b5b2e8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support_to_hash_rescue_password-0915927e41e6d845.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/swift_account_prefix-dbc9e68890bff47c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sync-boot-mode-after-changing-redfish-device-f60ef90ba5675215.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/system-scoped-authentication-28e3651de250bea8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/taskmanager-lazy-load-32a14526c647c2f0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/temp_url_key_rot-1e7cb004df8c788f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/tempest_plugin_removal-009f9ce8456b16fe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-3f18cf73e4dd10d3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-b48b5981a58a30ae.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/train-release-59ff1643ec92c10a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/transmit-all-ports-b570009d1a008067.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/type-error-str-6826c53d7e5e1243.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-and-secureboot-waits-a783215327164e2c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-first-prepare-e7fa1e2a78b4af99.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-grub2-by-default-6b797a9e690d2dd5.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-is-now-the-default-562b0d68adc59008.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi_https_secure_boot_support-41f4976e02c11162.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/undeprecate-xclarity-4f4752017e8310e7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unix-socket-48e8f1caf4cb19f9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unrescue-token-ae664a17343e0610.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unsave-power-state-on-adopt-failed-09194c8269c779de.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-boot_mode-for-cleaning-scenario-for-ilo-hardware-type-ebca86da8fc271f6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-clear-job-id-constant-fix-c69cf96c55364bb3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-idrac-redfish-management-export-conf-9fb17273c4d9a050.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-irmc-set-boot-device-fd50d9dce42aaa89.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-live-port-ee3fa9b77f5d0cf7.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-port-pxe-enabled-f954f934209cbf5b.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-20ebcc22dc2df527.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-54c0cd5c5d3c01dc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-python-scciclient-required-version-71398d5d5e1c0bf8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/upgrade-delete_configuration-0f0bb43c57278734.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/upgrade_oslo_db_version-idrac_redfish_inspection_bugfix-b5edd35c337f80fc.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-current-node-driver_internal_info-5c11de8f2c2b2e87.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-dhcp-option-numbers-8b0b0efae912ff5f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-image-format-for-memory-check-25b1f06701ccdc47.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-ironic-lib-exception-4bff237c9667bf46.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-port-in-hostname-for-jsonrpc-cdcd2c20a68a22c1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use_secrets_to_generate_token-55af0f43e5a80b9e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/user-image-server-basic-auth-c2b605aade241901.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/v1-discovery-4311398040581fe8.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-ilo-certificates-3ab98bb8cfad7d60.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-image-url-wnen-deploying-8820f4398ea9de9f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-instance-traits-525dd3150aa6afa2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-node-properties-73509ee40f409ca2.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-port-info-before-using-it-e26135982d37c698.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-interface-step-decorated-a673f608c5f5721a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-eject-vmedia-e4456320ee1c70c1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-shared-lock-6a9e32952ee6c2fe.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-subscription-5d28a2420e2af111.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/verify-bool-ab3607429e005bed.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/version-foo-2eb39b768112547f.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-7be66f8150e19819.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-revert-3961d47fe419460a.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-port-attach-17a9993bf5c21d69.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-boot-mode-f75c6fbef6349cbf.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-error-ef4eac3d08761d5c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-fast-track-903076c33c4aca04.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-inject-files-b6e226e2db4cff06.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-tls-117daa5ae0a9e30d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-connector-and-target-api-dd172f121ab3af8e.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-multipath-63b96f8331e771ae.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wait_hash_ring_reset-ef8bd548659e9906.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/webserver-timeout-d85781bf634cef39.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-root-gb-9132e5a354e6cb9d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-scsi-install-bootloader-f7e791d82da476ca.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wipe-agent-token-upon-cleaning-timeout-c9add514fad1b02c.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wipe-disk-before-deployment-0a8b9cede4a659e9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/workers-20ca5c225c1474e0.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wsgi-applications-5d36cf2a8885a56d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wwn-extension-root-device-hints-de40ca1444ba4888.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-driver-622800d17459e3f9.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-mask-password-9fe7605ece7689c3.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xenserver-ssh-driver-398084fe91ac56f1.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/zed-prelude-09fe95b11ad2459d.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/zero-temp-url-c21e208f8933c6f6.yaml -> ironic-24.0.1.dev106/releasenotes/notes DEBUG util.py:445: copying releasenotes/source/2023.1.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/2023.2.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/conf.py -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/icehouse.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/index.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/juno.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/kilo.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/liberty.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/mitaka.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/newton.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ocata.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/pike.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/queens.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/rocky.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/stein.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/train.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/unreleased.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ussuri.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/victoria.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/wallaby.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/xena.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/yoga.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/zed.rst -> ironic-24.0.1.dev106/releasenotes/source DEBUG util.py:445: copying releasenotes/source/_static/.placeholder -> ironic-24.0.1.dev106/releasenotes/source/_static DEBUG util.py:445: copying releasenotes/source/_templates/.placeholder -> ironic-24.0.1.dev106/releasenotes/source/_templates DEBUG util.py:445: copying releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po -> ironic-24.0.1.dev106/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: copying tools/__init__.py -> ironic-24.0.1.dev106/tools DEBUG util.py:445: copying tools/bandit.yml -> ironic-24.0.1.dev106/tools DEBUG util.py:445: copying tools/check-releasenotes.py -> ironic-24.0.1.dev106/tools DEBUG util.py:445: copying tools/flake8wrap.sh -> ironic-24.0.1.dev106/tools DEBUG util.py:445: copying tools/link_aggregation_on_windows.ps1 -> ironic-24.0.1.dev106/tools DEBUG util.py:445: copying tools/run_bashate.sh -> ironic-24.0.1.dev106/tools DEBUG util.py:445: copying tools/states_to_dot.py -> ironic-24.0.1.dev106/tools DEBUG util.py:445: copying tools/test-setup.sh -> ironic-24.0.1.dev106/tools DEBUG util.py:445: copying tools/with_venv.sh -> ironic-24.0.1.dev106/tools DEBUG util.py:445: copying tools/benchmark/README -> ironic-24.0.1.dev106/tools/benchmark DEBUG util.py:445: copying tools/benchmark/do_not_run_create_benchmark_data.py -> ironic-24.0.1.dev106/tools/benchmark DEBUG util.py:445: copying tools/benchmark/generate-statistics.py -> ironic-24.0.1.dev106/tools/benchmark DEBUG util.py:445: copying tools/config/ironic-config-generator.conf -> ironic-24.0.1.dev106/tools/config DEBUG util.py:445: copying tools/policy/ironic-policy-generator.conf -> ironic-24.0.1.dev106/tools/policy DEBUG util.py:445: copying zuul.d/ironic-jobs.yaml -> ironic-24.0.1.dev106/zuul.d DEBUG util.py:445: copying zuul.d/metal3-jobs.yaml -> ironic-24.0.1.dev106/zuul.d DEBUG util.py:445: copying zuul.d/project.yaml -> ironic-24.0.1.dev106/zuul.d DEBUG util.py:445: Writing ironic-24.0.1.dev106/setup.cfg DEBUG util.py:445: creating dist DEBUG util.py:445: Creating tar archive DEBUG util.py:445: removing 'ironic-24.0.1.dev106' (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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-caracal-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.f78uu65g', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-caracal/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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', '1038', '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-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-caracal-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.n5cfkdz5', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-caracal/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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', '1038', '-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-caracal-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-x86_64-5/root/installation-homedir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'LC_MESSAGES': 'C.UTF-8'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: delorean-python-barbican-tests-tempest-current 28 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ironic-python-agent-current 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-cinder-tests-tempest-current 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-openstackclient-current 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-current 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-kolla-current 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-current 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-current 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-current 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-current 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-neutron-vpnaas-current 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-current 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-edpm-image-builder-current 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-puppet-xinetd-current 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-current 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-current 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-heat-ui-current 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 59 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 56 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 15 kB/s | 3.2 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 17 kB/s | 3.4 kB 00:00 DEBUG util.py:445: dlrn-caracal-testing 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-caracal-build-deps 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 46 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 57 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-opstools 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 46 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Extra Packages for Enterprise Linux 9 - x86_64 67 kB/s | 28 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-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-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-caracal-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=1038gid=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-24.0.1-0.20240319001819.99b1f9c.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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-caracal-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.zrx5qai5', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-caracal/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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', '1038', '-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-caracal-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-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-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-x86_64-5/root/installation-homedir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'LC_MESSAGES': 'C.UTF-8'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: delorean-python-barbican-tests-tempest-current 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ironic-python-agent-current 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-cinder-tests-tempest-current 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-openstackclient-current 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-current 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-kolla-current 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-current 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-current 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-current 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-current 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-neutron-vpnaas-current 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-current 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-edpm-image-builder-current 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-puppet-xinetd-current 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-current 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-current 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-heat-ui-current 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 59 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 79 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 15 kB/s | 3.2 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 14 kB/s | 3.4 kB 00:00 DEBUG util.py:445: dlrn-caracal-testing 28 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-caracal-build-deps 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 49 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 43 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-opstools 52 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 46 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Extra Packages for Enterprise Linux 9 - x86_64 116 kB/s | 28 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-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-caracal-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-24.0.1-0.20240319001819.99b1f9c.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:24.0.1-0.2024031900######################################## 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-24.0.1-0.20240319001819.99b1f9c.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-24.0.1.dev106-0.20240319001819.99b1f9c.tar.gz DEBUG util.py:445: ironic-dist.conf DEBUG util.py:445: ironic-sudoers DEBUG util.py:445: ironic.logrotate DEBUG util.py:445: openstack-ironic-api.service DEBUG util.py:445: openstack-ironic-conductor.service DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server.service DEBUG util.py:445: openstack-ironic.service DEBUG util.py:445: openstack-ironic.spec DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-caracal-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=1038gid=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-24.0.1-0.20240319001819.99b1f9c.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-caracal-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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-caracal-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-caracal-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.src.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-caracal-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 Mar 19 00:19:07 2024. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20240313121733.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 systemd-252-27.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-5.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.0.7-27.el9 appstream 4.1 M DEBUG util.py:445: pyproject-rpm-macros noarch 1.12.0-1.el9 crb 40 k DEBUG util.py:445: python3-oslo-db-tests noarch 15.0.0-0.20240229140754.3e1618f.el9 delorean-component-common 127 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-caracal-testing 161 k DEBUG util.py:445: libyaml x86_64 0.2.5-7.el9 baseos 61 k DEBUG util.py:445: python-oslo-db-lang noarch 15.0.0-0.20240229140754.3e1618f.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-i18n-lang noarch 6.3.0-0.20240226193820.0531fb2.el9 delorean-component-common 14 k DEBUG util.py:445: python-oslo-utils-lang noarch 7.1.0-0.20240226204427.17581b5.el9 delorean-component-common 12 k DEBUG util.py:445: python3-PyMySQL noarch 0.10.1-6.el9 appstream 107 k DEBUG util.py:445: python3-alembic noarch 1.8.1-1.el9s delorean-caracal-testing 832 k DEBUG util.py:445: python3-cffi x86_64 1.14.5-5.el9 baseos 253 k DEBUG util.py:445: python3-cryptography x86_64 36.0.1-4.el9 baseos 1.2 M DEBUG util.py:445: python3-debtcollector noarch 3.0.0-0.20240226181642.0e6ce1c.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-extras noarch 1.0.0-15.el9s delorean-caracal-testing 19 k DEBUG util.py:445: python3-fixtures noarch 4.0.1-1.el9s delorean-caracal-testing 93 k DEBUG util.py:445: python3-iso8601 noarch 1.1.0-1.el9s delorean-caracal-testing 23 k DEBUG util.py:445: python3-mako noarch 1.1.4-6.el9 appstream 172 k DEBUG util.py:445: python3-migrate noarch 0.13.0-5.el9s delorean-caracal-testing 222 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-oslo-config noarch 2:9.4.0-0.20240315155821.882adf8.el9 delorean-component-common 215 k DEBUG util.py:445: python3-oslo-db noarch 15.0.0-0.20240229140754.3e1618f.el9 delorean-component-common 123 k DEBUG util.py:445: python3-oslo-db+mysql noarch 15.0.0-0.20240229140754.3e1618f.el9 delorean-component-common 7.8 k DEBUG util.py:445: python3-oslo-i18n noarch 6.3.0-0.20240226193820.0531fb2.el9 delorean-component-common 60 k DEBUG util.py:445: python3-oslo-utils noarch 7.1.0-0.20240226204427.17581b5.el9 delorean-component-common 77 k DEBUG util.py:445: python3-oslotest noarch 5.0.0-0.20240305124430.4c36dbc.el9 delorean-component-clients 46 k DEBUG util.py:445: python3-ply noarch 3.11-14.el9 baseos 106 k DEBUG util.py:445: python3-psycopg2 x86_64 2.9.9-2.el9s delorean-caracal-build-deps 188 k DEBUG util.py:445: python3-pycparser noarch 2.20-6.el9 baseos 135 k DEBUG util.py:445: python3-pynacl x86_64 1.5.0-1.el9s delorean-caracal-testing 111 k DEBUG util.py:445: python3-pyyaml x86_64 5.4.1-6.el9 baseos 205 k DEBUG util.py:445: python3-rfc3986 noarch 1.5.0-1.el9s delorean-caracal-testing 50 k DEBUG util.py:445: python3-sqlparse noarch 0.4.2-4.el9s delorean-caracal-testing 83 k DEBUG util.py:445: python3-stevedore noarch 5.2.0-0.20240226201419.21d601f.el9 delorean-component-clients 68 k DEBUG util.py:445: python3-subunit noarch 1.4.0-6.el9s delorean-caracal-testing 90 k DEBUG util.py:445: python3-tempita noarch 0.5.2-2.el9s delorean-caracal-testing 36 k DEBUG util.py:445: python3-testresources noarch 2.0.1-2.el9s delorean-caracal-testing 59 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-21.el9s delorean-caracal-testing 37 k DEBUG util.py:445: python3-testtools noarch 2.7.1-1.el9s delorean-caracal-testing 326 k DEBUG util.py:445: python3-wrapt x86_64 1.16.0-1.el9s delorean-caracal-testing 60 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 50 Packages DEBUG util.py:445: Total size: 13 M DEBUG util.py:445: Installed size: 50 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-config-9.4.0-0.20240315155821.882adf8.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-utils-7.1.0-0.20240226204427.17581b5.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-cffi-1.14.5-5.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cryptography-36.0.1-4.el9.x86_64.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-ply-3.11-14.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycparser-2.20-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyyaml-5.4.1-6.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] cmake-filesystem-3.26.5-2.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] gmp-c++-6.2.0-13.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] gmp-devel-6.2.0-13.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libgpg-error-devel-1.42-5.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libpq-13.11-1.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libxml2-devel-2.9.13-5.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libxslt-devel-1.1.34-9.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] openssl-devel-3.0.7-27.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-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] xz-devel-5.2.5-8.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] zlib-devel-1.2.11-41.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] pyproject-rpm-macros-1.12.0-1.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libsodium-1.0.18-7.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-alembic-1.8.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-extras-1.0.0-15.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fixtures-4.0.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-iso8601-1.1.0-1.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-pynacl-1.5.0-1.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-rfc3986-1.5.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sqlparse-0.4.2-4.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-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.7.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wrapt-1.16.0-1.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-psycopg2-2.9.9-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: Running transaction check DEBUG util.py:445: Transaction check succeeded. DEBUG util.py:445: Running transaction test DEBUG util.py:445: Transaction test succeeded. DEBUG util.py:445: Running transaction DEBUG util.py:445: Preparing : 1/1 DEBUG util.py:445: Installing : python3-testtools-2.7.1-1.el9s.noarch 1/50 DEBUG util.py:445: Installing : python3-testscenarios-0.5.0-21.el9s.noarch 2/50 DEBUG util.py:445: Installing : python3-testresources-2.0.1-2.el9s.noarch 3/50 DEBUG util.py:445: Installing : python3-fixtures-4.0.1-1.el9s.noarch 4/50 DEBUG util.py:445: Installing : python3-netaddr-0.8.0-5.el9.noarch 5/50 DEBUG util.py:445: Installing : python3-stevedore-5.2.0-0.20240226201419.21d601f.e 6/50 DEBUG util.py:445: Installing : python3-wrapt-1.16.0-1.el9s.x86_64 7/50 DEBUG util.py:445: Installing : python3-debtcollector-3.0.0-0.20240226181642.0e6ce 8/50 DEBUG util.py:445: Installing : python3-tempita-0.5.2-2.el9s.noarch 9/50 DEBUG util.py:445: Installing : python3-sqlparse-0.4.2-4.el9s.noarch 10/50 DEBUG util.py:445: Installing : python3-rfc3986-1.5.0-1.el9s.noarch 11/50 DEBUG util.py:445: Installing : python3-iso8601-1.1.0-1.el9s.noarch 12/50 DEBUG util.py:445: Installing : python3-extras-1.0.0-15.el9s.noarch 13/50 DEBUG util.py:445: Installing : python3-subunit-1.4.0-6.el9s.noarch 14/50 DEBUG util.py:445: Installing : python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el 15/50 DEBUG util.py:445: Installing : libsodium-1.0.18-7.el9s.x86_64 16/50 DEBUG util.py:445: Installing : zlib-devel-1.2.11-41.el9.x86_64 17/50 DEBUG util.py:445: Installing : xz-devel-5.2.5-8.el9.x86_64 18/50 DEBUG util.py:445: Installing : python3-netifaces-0.10.6-15.el9.x86_64 19/50 DEBUG util.py:445: Installing : python3-mako-1.1.4-6.el9.noarch 20/50 DEBUG util.py:445: Installing : python3-alembic-1.8.1-1.el9s.noarch 21/50 DEBUG util.py:445: Installing : libpq-13.11-1.el9.x86_64 22/50 DEBUG util.py:445: Installing : python3-psycopg2-2.9.9-2.el9s.x86_64 23/50 DEBUG util.py:445: Installing : libgpg-error-devel-1.42-5.el9.x86_64 24/50 DEBUG util.py:445: Installing : gmp-c++-1:6.2.0-13.el9.x86_64 25/50 DEBUG util.py:445: Installing : cmake-filesystem-3.26.5-2.el9.x86_64 26/50 DEBUG util.py:445: Installing : libxml2-devel-2.9.13-5.el9.x86_64 27/50 DEBUG util.py:445: Installing : python3-ply-3.11-14.el9.noarch 28/50 DEBUG util.py:445: Installing : python3-pycparser-2.20-6.el9.noarch 29/50 DEBUG util.py:445: Installing : python3-cffi-1.14.5-5.el9.x86_64 30/50 DEBUG util.py:445: Installing : python3-cryptography-36.0.1-4.el9.x86_64 31/50 DEBUG util.py:445: Installing : python3-PyMySQL-0.10.1-6.el9.noarch 32/50 DEBUG util.py:445: Installing : python3-pynacl-1.5.0-1.el9s.x86_64 33/50 DEBUG util.py:445: Installing : python3-decorator-4.4.2-6.el9.noarch 34/50 DEBUG util.py:445: Installing : python3-migrate-0.13.0-5.el9s.noarch 35/50 DEBUG util.py:445: Installing : libyaml-0.2.5-7.el9.x86_64 36/50 DEBUG util.py:445: Installing : python3-pyyaml-5.4.1-6.el9.x86_64 37/50 DEBUG util.py:445: Installing : python-oslo-utils-lang-7.1.0-0.20240226204427.1758 38/50 DEBUG util.py:445: Installing : python-oslo-i18n-lang-6.3.0-0.20240226193820.0531f 39/50 DEBUG util.py:445: Installing : python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.e 40/50 DEBUG util.py:445: Installing : python3-oslo-config-2:9.4.0-0.20240315155821.882ad 41/50 DEBUG util.py:445: Installing : python3-oslo-utils-7.1.0-0.20240226204427.17581b5. 42/50 DEBUG util.py:445: Installing : python-oslo-db-lang-15.0.0-0.20240229140754.3e1618 43/50 DEBUG util.py:445: Installing : python3-oslo-db+mysql-15.0.0-0.20240229140754.3e16 44/50 DEBUG util.py:445: Installing : python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el 45/50 DEBUG util.py:445: Installing : python3-oslo-db-tests-15.0.0-0.20240229140754.3e16 46/50 DEBUG util.py:445: Installing : libxslt-devel-1.1.34-9.el9.x86_64 47/50 DEBUG util.py:445: Installing : gmp-devel-1:6.2.0-13.el9.x86_64 48/50 DEBUG util.py:445: Installing : pyproject-rpm-macros-1.12.0-1.el9.noarch 49/50 DEBUG util.py:445: Installing : openssl-devel-1:3.0.7-27.el9.x86_64 50/50 DEBUG util.py:445: Running scriptlet: openssl-devel-1:3.0.7-27.el9.x86_64 50/50 DEBUG util.py:445: Verifying : python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el 1/50 DEBUG util.py:445: Verifying : python3-stevedore-5.2.0-0.20240226201419.21d601f.e 2/50 DEBUG util.py:445: Verifying : python-oslo-db-lang-15.0.0-0.20240229140754.3e1618 3/50 DEBUG util.py:445: Verifying : python-oslo-i18n-lang-6.3.0-0.20240226193820.0531f 4/50 DEBUG util.py:445: Verifying : python-oslo-utils-lang-7.1.0-0.20240226204427.1758 5/50 DEBUG util.py:445: Verifying : python3-debtcollector-3.0.0-0.20240226181642.0e6ce 6/50 DEBUG util.py:445: Verifying : python3-oslo-config-2:9.4.0-0.20240315155821.882ad 7/50 DEBUG util.py:445: Verifying : python3-oslo-db+mysql-15.0.0-0.20240229140754.3e16 8/50 DEBUG util.py:445: Verifying : python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el 9/50 DEBUG util.py:445: Verifying : python3-oslo-db-tests-15.0.0-0.20240229140754.3e16 10/50 DEBUG util.py:445: Verifying : python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.e 11/50 DEBUG util.py:445: Verifying : python3-oslo-utils-7.1.0-0.20240226204427.17581b5. 12/50 DEBUG util.py:445: Verifying : libyaml-0.2.5-7.el9.x86_64 13/50 DEBUG util.py:445: Verifying : python3-cffi-1.14.5-5.el9.x86_64 14/50 DEBUG util.py:445: Verifying : python3-cryptography-36.0.1-4.el9.x86_64 15/50 DEBUG util.py:445: Verifying : python3-decorator-4.4.2-6.el9.noarch 16/50 DEBUG util.py:445: Verifying : python3-ply-3.11-14.el9.noarch 17/50 DEBUG util.py:445: Verifying : python3-pycparser-2.20-6.el9.noarch 18/50 DEBUG util.py:445: Verifying : python3-pyyaml-5.4.1-6.el9.x86_64 19/50 DEBUG util.py:445: Verifying : cmake-filesystem-3.26.5-2.el9.x86_64 20/50 DEBUG util.py:445: Verifying : gmp-c++-1:6.2.0-13.el9.x86_64 21/50 DEBUG util.py:445: Verifying : gmp-devel-1:6.2.0-13.el9.x86_64 22/50 DEBUG util.py:445: Verifying : libgpg-error-devel-1.42-5.el9.x86_64 23/50 DEBUG util.py:445: Verifying : libpq-13.11-1.el9.x86_64 24/50 DEBUG util.py:445: Verifying : libxml2-devel-2.9.13-5.el9.x86_64 25/50 DEBUG util.py:445: Verifying : libxslt-devel-1.1.34-9.el9.x86_64 26/50 DEBUG util.py:445: Verifying : openssl-devel-1:3.0.7-27.el9.x86_64 27/50 DEBUG util.py:445: Verifying : python3-PyMySQL-0.10.1-6.el9.noarch 28/50 DEBUG util.py:445: Verifying : python3-mako-1.1.4-6.el9.noarch 29/50 DEBUG util.py:445: Verifying : python3-netaddr-0.8.0-5.el9.noarch 30/50 DEBUG util.py:445: Verifying : python3-netifaces-0.10.6-15.el9.x86_64 31/50 DEBUG util.py:445: Verifying : xz-devel-5.2.5-8.el9.x86_64 32/50 DEBUG util.py:445: Verifying : zlib-devel-1.2.11-41.el9.x86_64 33/50 DEBUG util.py:445: Verifying : pyproject-rpm-macros-1.12.0-1.el9.noarch 34/50 DEBUG util.py:445: Verifying : libsodium-1.0.18-7.el9s.x86_64 35/50 DEBUG util.py:445: Verifying : python3-alembic-1.8.1-1.el9s.noarch 36/50 DEBUG util.py:445: Verifying : python3-extras-1.0.0-15.el9s.noarch 37/50 DEBUG util.py:445: Verifying : python3-fixtures-4.0.1-1.el9s.noarch 38/50 DEBUG util.py:445: Verifying : python3-iso8601-1.1.0-1.el9s.noarch 39/50 DEBUG util.py:445: Verifying : python3-migrate-0.13.0-5.el9s.noarch 40/50 DEBUG util.py:445: Verifying : python3-pynacl-1.5.0-1.el9s.x86_64 41/50 DEBUG util.py:445: Verifying : python3-rfc3986-1.5.0-1.el9s.noarch 42/50 DEBUG util.py:445: Verifying : python3-sqlparse-0.4.2-4.el9s.noarch 43/50 DEBUG util.py:445: Verifying : python3-subunit-1.4.0-6.el9s.noarch 44/50 DEBUG util.py:445: Verifying : python3-tempita-0.5.2-2.el9s.noarch 45/50 DEBUG util.py:445: Verifying : python3-testresources-2.0.1-2.el9s.noarch 46/50 DEBUG util.py:445: Verifying : python3-testscenarios-0.5.0-21.el9s.noarch 47/50 DEBUG util.py:445: Verifying : python3-testtools-2.7.1-1.el9s.noarch 48/50 DEBUG util.py:445: Verifying : python3-wrapt-1.16.0-1.el9s.x86_64 49/50 DEBUG util.py:445: Verifying : python3-psycopg2-2.9.9-2.el9s.x86_64 50/50 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-5.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.0.7-27.el9.x86_64 DEBUG util.py:445: pyproject-rpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python3-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: python3-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-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.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-oslo-config-2:9.4.0-0.20240315155821.882adf8.el9.noarch DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch DEBUG util.py:445: python3-ply-3.11-14.el9.noarch DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 DEBUG util.py:445: python3-pycparser-2.20-6.el9.noarch DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.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.7.1-1.el9s.noarch DEBUG util.py:445: python3-wrapt-1.16.0-1.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-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch 1707136352 86194 db7120949a11654d34b2212480cd4d98 installed DEBUG util.py:445: fonts-filesystem-1:2.0.5-7.el9.1.noarch 1631794425 0 1f223cb786e15b443f5ae9792adc3d8b installed DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch 1708340382 9498621 121e6516ade3724afaa5435928537a52 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: python3-setuptools-wheel-65.5.1-2.el9s.noarch 1709721990 880926 f3b191e83073dbfcc12c71393ed579cc 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: publicsuffix-list-dafsa-20210518-3.el9.noarch 1644512729 68815 a486e7e01444e3373cb6e6b9418720c7 installed DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch 1663762969 14187 a4fe05470faa432bdf2bc0da90a72878 installed DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch 1708199492 234324 08e9141ac69b635d14e665de7ff2f843 installed DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch 1692626709 307293 ef98b393ba4b55cb87e80f4c95e8ac73 installed DEBUG util.py:445: libssh-config-0.10.4-13.el9.noarch 1708363378 277 5605f4240d6ed111340ef0be4b55fd71 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: fuse-common-3.10.2-8.el9.x86_64 1707334230 38 ed77f0865bed45d4096f0902a9bf53b3 installed DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 1706533662 10880514 936269022a2221bdc5d3478419733917 installed DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch 1705674498 6047 1107f0478c70b6c5f7d21492977a1cde installed DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch 1705674498 6854 0c47d88c3e66109880de535c14bf3c3b installed DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch 1705674498 30150 169f8c5d070a15ca6369881d173b6684 installed DEBUG util.py:445: setup-2.13.7-10.el9.noarch 1707295246 725932 fd3173da9bafb6e1d6afffea47d55a3f 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: bash-5.1.8-6.el9.x86_64 1669299695 7738626 484ecd827c7bf4c796eb0d41927b3b67 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: libxml2-2.9.13-5.el9.x86_64 1695233307 1955244 db9f67114a5b238d022dff2a38680f5a 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: expat-2.5.0-1.el9.x86_64 1668091465 309085 daf1d3ed03c8e36c2bdd879550191e35 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: libuuid-2.37.4-18.el9.x86_64 1707414747 38109 4e0e3ddd0dc64a478fbb117ca1c5f219 installed DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 1704382370 1310936 26da3e9a9c03773b4b29c0d8e3514e80 installed DEBUG util.py:445: libffi-3.4.2-8.el9.x86_64 1681740417 65761 4bb756aae8cbb82168f5d2245c5a969b 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: nspr-4.35.0-6.el9.x86_64 1706115430 321304 ff0cd1dfc878c9c841fd2b1f9f576b0e 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: nss-util-3.90.0-6.el9.x86_64 1706115430 229848 64ade13c2bceb09c9bc177fb2d966ac2 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: gdbm-libs-1:1.19-4.el9.x86_64 1628542967 116306 981b9a7e0c2cddf96d1ac29034ff18a4 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: pcre2-10.40-5.el9.x86_64 1708199482 652298 9f3a26797e21bd1d7b9f9a7b7abee780 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: 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: 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: libsmartcols-2.37.4-18.el9.x86_64 1707414747 134899 f6f6e7e8a5109cbcc6baf90066f7dce0 installed DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 1628561779 539272 47435f5ffc13e691717fa2db7495952e installed DEBUG util.py:445: grep-3.6-5.el9.x86_64 1628545386 857840 b1783007ca41c6a5e2a2a6b09c72ee49 installed DEBUG util.py:445: openssl-libs-1:3.0.7-27.el9.x86_64 1708512918 6776462 d032f31ca57cab6a6b69ae466820c7ad 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: systemd-libs-252-27.el9.x86_64 1708011351 1806928 df5d685b615feafdcce06773df86aab1 installed DEBUG util.py:445: dbus-libs-1:1.12.20-8.el9.x86_64 1686561892 372990 52ea9b6b6c067fc779ab24fb611ac26c installed DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 1707414747 229849 8cfda00d8e84a88a7cf64f8ce44abf58 installed DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 1670334275 906150 d8567679cfb8225dc2e349cb0ced7f90 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: util-linux-core-2.37.4-18.el9.x86_64 1707414747 1268263 04e54edba5e55f2bede77cc866efbbbb 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: mesa-libglapi-23.3.3-1.el9.x86_64 1705497224 221880 bae0acd738d028da90fd16f9676b1539 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: python3-pip-wheel-21.2.3-8.el9.noarch 1707931579 1220838 ee6fab990fc5b6f7aabdf6b85176fbc8 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-65.5.1-2.el9s.noarch 1709721990 7061954 c328c97d490495fecf34d494466a0925 installed DEBUG util.py:445: python3-idna-2.10-7.el9.noarch 1645461951 469965 d8aa542c3eea7de80b89295aa2e39992 installed DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch 1645014051 106876 ddb649ce7f23e052677037e6a3f1c03a installed DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 1706030025 834046 35a71652bad0173d065d881070a913f9 installed DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch 1707931579 9095142 96096dcdbf1d28432536a398e98de65b installed DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch 1707136352 241152 d7d983292611c13d17d0ee2d98a6254e installed DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch 1645457887 1480116 7bf874734ba3c74bafc1b7d88a30d5bc installed DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch 1687804859 2048830 361156faecea076b4bcd9dec35c888e7 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.1.3-2.el9s.x86_64 1696835252 50766 2142ae417ba10e53d30b6eadd6698596 installed DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch 1631290225 2924051 b6ff5fd468f8b5a0c72e414a67ca863b installed DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch 1706112063 338257 c578860332efac6807c4fb22d37352d1 installed DEBUG util.py:445: openssl-1:3.0.7-27.el9.x86_64 1708512918 1895189 bfc65f45a290028822e3dfdcc18162e6 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: bubblewrap-0.4.1-6.el9.x86_64 1628538098 104329 78a041d7986e2a0121d1fd8e4480490c 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: nss-softokn-freebl-3.90.0-6.el9.x86_64 1706115430 827662 cbc06f96a39d63b16d0f6f6c7730e6a4 installed DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 1706115430 1294651 e87878ced1f452a8216865d1c814036b installed DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 1706115430 18288 f09f04864ca1935ea97a16d3780078ad installed DEBUG util.py:445: nss-3.90.0-6.el9.x86_64 1706115430 1931695 2edcea2feeb75fa5327671f898841e92 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: systemd-rpm-macros-252-27.el9.noarch 1708012513 9516 35f3f76d8f345549c2c97faa49e0f58f 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-Scalar-List-Utils-4:1.56-461.el9.x86_64 1628565132 143652 fdb542613487fef027425c1c87b4514c installed DEBUG util.py:445: perl-constant-1.33-461.el9.noarch 1628562746 27104 ee5c312a7c1613a45b24c022d97fb08e installed DEBUG util.py:445: perl-Storable-1:3.21-460.el9.x86_64 1628565166 228532 119c254a858a4e8225a8f4f1b95a6fc8 installed DEBUG util.py:445: perl-overload-0:1.31-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: libeconf-0.4.1-3.el9.x86_64 1686133027 45715 a8029c68441fba3197f5506caa6a9f0e installed DEBUG util.py:445: libpwquality-1.4.4-8.el9.x86_64 1628552427 416376 0b62322fb735de082781bbefe37e1e6e installed DEBUG util.py:445: pam-1.5.1-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: dbus-1:1.12.20-8.el9.x86_64 1686561892 0 e3a0cea0ef5d61d5d05c31ccab5a91f1 installed DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 1708011351 518443 82972d5af1be7446cffde9fd14dec4a8 installed DEBUG util.py:445: systemd-252-27.el9.x86_64 1708011351 12861317 9cc7f4e64854d4ae27bb8b56a6703bc0 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: libpciaccess-0.16-6.el9.x86_64 1628552183 49971 9fc4d900b9f966d18433f7b6555bd65c installed DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 1699264869 410099 591cbe6f2e07dfffd459eb69070725ef installed DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 1705497224 70700 28f78ed1f593134abd6442e9401fbf31 installed DEBUG util.py:445: libglvnd-egl-1:1.3.4-1.el9.x86_64 1637623169 70708 f36fd901951072d8b6dc7b9b7b680993 installed DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 1705497224 310775 57c9a2e4cd495b9664701060f13e089c installed DEBUG util.py:445: libglvnd-glx-1:1.3.4-1.el9.x86_64 1637623169 694030 df6b17eab5aca2f17d3ec25cf90c1bd4 installed DEBUG util.py:445: mesa-libGL-23.3.3-1.el9.x86_64 1705497224 480857 10b4003d3ca5f52ffcb56b63165f3363 installed DEBUG util.py:445: libpkgconf-1.7.3-10.el9.x86_64 1663762953 75425 6d784dbd338488f9a990f3870ce06e48 installed DEBUG util.py:445: pkgconf-1.7.3-10.el9.x86_64 1663762953 77890 c27775732875e2aaaa07204046b2e0ae installed DEBUG util.py:445: pkgconf-pkg-config-1.7.3-10.el9.x86_64 1663762953 1203 557e5f2bf85dce295401d6e30f51eabe installed DEBUG util.py:445: libverto-0.3.2-3.el9.x86_64 1628554245 30365 49717f919565ae8f0e70dc4def4d01f6 installed DEBUG util.py:445: krb5-libs-1.21.1-1.el9.x86_64 1691571768 2498748 cf51940dfb37ca956e8e724ff7e51bc3 installed DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 1663006598 2380384 30b42ad4b265d75bc95db77acd35598e installed DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 1708363436 535899 b02ff39361e3fb9a444260b10e181891 installed DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 1709765563 667638 e3016019f9c5035e9e5dacd99eade32e installed DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el9.x86_64 1702309026 61715 7f97796057315c7dbcb03364e3440b6b 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: 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: curl-7.76.1-29.el9.x86_64 1709765563 684689 847007a0a0708c9bffdd41aeccfa4d69 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: systemd-udev-252-27.el9.x86_64 1708011351 10508573 69c0431578e42b122809f29d9af6f119 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: gnutls-3.8.3-1.el9.x86_64 1705995227 3448563 702def71f5af0fbc8f09dcd9d10f9d26 installed DEBUG util.py:445: glib2-2.68.4-14.el9.x86_64 1708527819 13441007 d00b34d69cbd89e37e704fce0fba1917 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: cups-libs-1:2.3.3op2-24.el9.x86_64 1708959289 682393 96d54a60dcea05644bcb7a0297b554fd 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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 1702662337 12906370 0451d7f0919dc8aac95b82f786347169 installed DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 1629990582 33073 19ece62a63da90e07fa4f7dfe0889713 installed DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 1645725961 655538 a1f0e2c161d9f5a8ebf4ccd5267cbc51 installed DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 1628553090 1261962 d37b68f550aa0fc78803737ece49a922 installed DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 1669833794 371262 7577fcf4f6c1c7b754eeeabd5cd16f9c installed DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 1628549325 1422262 4dd5362b3a34ef29e4091c6cfe45e6ab installed DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 1669836900 181588 28e89ea88f62695d9ca277507f766e19 installed DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 1669824782 1225572 134a8eabade143ef211f58af60aefef2 installed DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 1647904775 87288 4ccfb99c9ba5e6128721c79aefe24759 installed DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 1631870165 99520 eab4072ca3cfa6060e0072403aaad1b7 installed DEBUG util.py:445: npth-1.6-8.el9.x86_64 1628558844 50619 ec2f6c8c45b97d50a2d00f1c3ae9f17b installed DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch 1676049043 523094 dcc4a0c03548e6937d0cee1049f9a766 installed DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch 1677685511 271052 a3ab3303f7d174df0d5976baa2635310 installed DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch 1680601537 1587155 1193f21e3bf9bce3f91a6ee4b8d78f1d installed DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 1707138494 14944224 c55fcba6e11c2bff50aa424d086e100c installed DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch 1710332313 45488 90e5f8103044879f52b4ddd075ea2202 installed DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 1710437408 6165599 5cccf819d79a977508c4c15cebc1e347 installed DEBUG util.py:445: tzdata-2024a-2.el9.noarch 1710443975 1707934 4a1f0fec3a9b8b628c6ea050b3be5e92 installed DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 1710257540 1083801 0ef12a6f2d9240037493b0571a0ef31d installed DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 1710257540 8157140 9f516114d105566968c0f81f7a54b91e installed DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 1710257540 0 d7dae1ccdb151d4f623d79d6da25d9ac installed DEBUG util.py:445: glibc-2.34-102.el9.x86_64 1710257540 6456107 b21fe872f4ec55b42c1c701d2930ec8e installed DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 1710257540 2169109 c66fb75ba9d194f1f194057b54ec07f8 installed DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 1710257540 38176 f8061ad361abe7a6b419978e499d0fbe installed DEBUG util.py:445: NetworkManager-libnm-1:1.47.2-1.el9.x86_64 1709908622 10063174 6f025d01e6ce4159183e4779f42e357b 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: python3-testtools-2.7.1-1.el9s.noarch 1708341611 1537147 3a7860784b18a02d840e2e192edb3884 installed DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch 1631031198 105944 caea093dfebb12f3f758c14c092fd384 installed DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch 1631002661 244938 5b4ec321a6d30c821addffabd7b6ae67 installed DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch 1675925905 348546 2b5debd2fff9b6fe8e32a1e844c386d4 installed DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch 1628567417 9834085 d2af174e7b69caff99cf80d32742e666 installed DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch 1708978715 268734 e162fedaf221c70d33fe7a69b92a136e installed DEBUG util.py:445: python3-wrapt-1.16.0-1.el9s.x86_64 1708440245 184316 42d3377e636e82d5939304dddcc92636 installed DEBUG util.py:445: python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch 1708971566 86270 03e4ad3409cf5a480768a2a3ce4f8ee7 installed DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch 1633588086 116012 34e2cf6a782f7f308d07a17b1b914277 installed DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch 1658917746 270936 e573d2b32653042e19c048335cf19147 installed DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch 1644341140 181444 1a32b489b5f446a3432233dd53bba169 installed DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch 1668080811 53924 05b08eb5ab32eeb30d648d875ec52181 installed DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch 1630951099 28311 07487e9fa66fac6f66467d7e32650938 installed DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch 1631297515 330523 fd85a795691063c7decfb0a6360815ea installed DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch 1709642905 129532 d22acfe3d0d761b328f96bece583f773 installed DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 1631099292 363811 c5e5aece8e9b7d89bb43b3c6e4c2b06b installed DEBUG util.py:445: zlib-devel-1.2.11-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-netifaces-0.10.6-15.el9.x86_64 1628567396 44167 c1e7628df9cd71ae1cb6edd6770b68e8 installed DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch 1668698522 546833 afadc4d58ab86e22ea833db2a1e63084 installed DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch 1662390842 6077702 a47435f47ad1d4b5152b281bc1b96df6 installed DEBUG util.py:445: libpq-13.11-1.el9.x86_64 1685448420 739553 68d08209bc9cc5ae3d7ad0ceeeae5730 installed DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 1705911928 645586 a64d80e836657d7fd2a2c515a989de0d 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-5.el9.x86_64 1695233307 9264370 935337c786450f84f810d3c2fd3b2512 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-PyMySQL-0.10.1-6.el9.noarch 1645461972 340048 13d68a8a9e993a7bc42d3a2afa52aa2e installed DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 1671786671 561270 8778a4f7e0a690c524d3b7fef3b863c1 installed DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch 1628567131 62807 e22ec134c639837beec6cc34b8b6ce32 installed DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch 1631152149 764282 63dfb5d34e9879e24171fffca18acddd 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: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch 1708980396 15675 603ec3093b06a3bfe54319577c186176 installed DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch 1708976643 16884 ba2089284c781f2775f95f5fedc12b62 installed DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch 1708976643 201532 bc14f2bbf596aa5e011cd6b3e7b19371 installed DEBUG util.py:445: python3-oslo-config-2:9.4.0-0.20240315155821.882adf8.el9.noarch 1710518399 1162879 5465daaefa90016ace55ea306f41f28f installed DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch 1708980396 271226 d0dd265573a9f8bc0db636d5b3594c27 installed DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch 1709215845 13675 4d17fba9399c016d8d19faf83981eb4b installed DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch 1709215845 13600 b9ecdd5535933b154b5f3fdece92936c installed DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch 1709215845 506611 df764af4563a34003fed181952d50996 installed DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch 1709215845 693467 6619319f75befb5c5d1a5dcc15f1d206 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: pyproject-rpm-macros-1.12.0-1.el9.noarch 1707213272 101196 95c3e3c86a0d7a72b0f81c835dfac07d installed DEBUG util.py:445: openssl-devel-1:3.0.7-27.el9.x86_64 1708512918 4881487 0bdf29a050ea6d186d61dc7427ee51a5 installed DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos9-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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: python3-testtools-2.7.1-1.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch DEBUG util.py:445: python3-wrapt-1.16.0-1.el9s.x86_64 DEBUG util.py:445: python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-41.el9.x86_64 DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: libpq-13.11-1.el9.x86_64 DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: gmp-c++-6.2.0-13.el9.x86_64 DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 DEBUG util.py:445: libxml2-devel-2.9.13-5.el9.x86_64 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-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-config-9.4.0-0.20240315155821.882adf8.el9.noarch DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 DEBUG util.py:445: gmp-devel-6.2.0-13.el9.x86_64 DEBUG util.py:445: pyproject-rpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: openssl-devel-3.0.7-27.el9.x86_64 DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-caracal-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=1038gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\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.pBeaGd 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-24.0.1.dev106 DEBUG util.py:445: + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-24.0.1.dev106-0.20240319001819.99b1f9c.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-24.0.1.dev106 DEBUG util.py:445: + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . DEBUG util.py:445: + /usr/bin/git init -q DEBUG util.py:445: + /usr/bin/git config user.name rpm-build DEBUG util.py:445: + /usr/bin/git config user.email '' DEBUG util.py:445: + /usr/bin/git config gc.auto 0 DEBUG util.py:445: + /usr/bin/git add --force . DEBUG util.py:445: + /usr/bin/git commit -q --allow-empty -a --author 'rpm-build ' -m 'openstack-ironic-24.0.1 base' DEBUG util.py:445: + sed -i /tempest/d setup.cfg DEBUG util.py:445: + rm -rf ironic_tempest_plugin DEBUG util.py:445: + sed -i '/^[[:space:]]*-c{env:.*_CONSTRAINTS_FILE.*/d' tox.ini DEBUG util.py:445: + sed -i 's/^deps = -c{env:.*_CONSTRAINTS_FILE.*/deps =/' tox.ini DEBUG util.py:445: + sed -i '/^minversion.*/d' tox.ini DEBUG util.py:445: + sed -i '/^requires.*virtualenv.*/d' tox.ini DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^doc8.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^doc8.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^bandit.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^bandit.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^pre-commit.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^pre-commit.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^hacking.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^hacking.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^flake8-import-order.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^flake8-import-order.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^sphinx.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^sphinx.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^openstackdocstheme.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^openstackdocstheme.*/d' test-requirements.txt DEBUG util.py:445: + sed -i 's/netaddr.*/netaddr/g' requirements.txt DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.bkVcov DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + echo pyproject-rpm-macros DEBUG util.py:445: + echo python3-devel DEBUG util.py:445: + echo 'python3dist(pip) >= 19' DEBUG util.py:445: + echo 'python3dist(packaging)' DEBUG util.py:445: + '[' -f pyproject.toml ']' DEBUG util.py:445: + '[' -f setup.py ']' DEBUG util.py:445: + echo 'python3dist(setuptools) >= 40.8' DEBUG util.py:445: + echo 'python3dist(wheel)' DEBUG util.py:445: + rm -rfv '*.dist-info/' DEBUG util.py:445: + '[' -f /usr/bin/python3 ']' DEBUG util.py:445: + mkdir -p /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + echo -n 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: + TMPDIR=/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + RPM_TOXENV=py39 DEBUG util.py:445: + HOSTNAME=rpmbuild DEBUG util.py:445: + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-24.0.1.dev106/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires -t -e py39 DEBUG util.py:443: Handling setuptools >= 40.8 from default build backend DEBUG util.py:443: Requirement satisfied: setuptools >= 40.8 DEBUG util.py:443: (installed: setuptools 65.5.1) DEBUG util.py:443: Handling wheel from default build backend DEBUG util.py:443: Requirement not satisfied: wheel DEBUG util.py:443: Exiting dependency generation pass: build backend DEBUG util.py:445: + cat /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires DEBUG util.py:445: + rm -rfv '*.dist-info/' DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Wrote: /builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm DEBUG util.py:596: Child return code was: 11 INFO backend.py:771: Dynamic buildrequires detected INFO backend.py:772: Going to install missing buildrequires. See root.log for details. INFO backend.py:773: Going to install missing dynamic buildrequires DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm'] DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-caracal-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:06 ago on Tue Mar 19 00:19:07 2024. DEBUG util.py:445: Package gmp-devel-1:6.2.0-13.el9.x86_64 is already installed. DEBUG util.py:445: Package libxml2-devel-2.9.13-5.el9.x86_64 is already installed. DEBUG util.py:445: Package libxslt-devel-1.1.34-9.el9.x86_64 is already installed. DEBUG util.py:445: Package openssl-devel-1:3.0.7-27.el9.x86_64 is already installed. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch is already installed. DEBUG util.py:445: Package pyproject-rpm-macros-1.12.0-1.el9.noarch is already installed. DEBUG util.py:445: Package pyproject-rpm-macros-1.12.0-1.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-devel-3.9.18-3.el9.x86_64 is already installed. DEBUG util.py:445: Package python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch is already installed. DEBUG util.py:445: Package python3-packaging-20.9-5.el9.noarch is already installed. DEBUG util.py:445: Package python3-pip-21.2.3-8.el9.noarch is already installed. DEBUG util.py:445: Package python3-setuptools-65.5.1-2.el9s.noarch is already installed. DEBUG util.py:445: Package systemd-252-27.el9.x86_64 is already installed. DEBUG util.py:445: Dependencies resolved. DEBUG util.py:445: ================================================================================ DEBUG util.py:445: Package Architecture Version Repository Size DEBUG util.py:445: ================================================================================ DEBUG util.py:445: Installing: DEBUG util.py:445: python3-wheel noarch 1:0.36.2-8.el9 crb 83 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ================================================================================ DEBUG util.py:445: Install 1 Package DEBUG util.py:445: Total size: 83 k DEBUG util.py:445: Installed size: 209 k DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python3-wheel-0.36.2-8.el9.noarch.rpm: Already downloaded DEBUG util.py:445: Running transaction check DEBUG util.py:445: Transaction check succeeded. DEBUG util.py:445: Running transaction test DEBUG util.py:445: Transaction test succeeded. DEBUG util.py:445: Running transaction DEBUG util.py:445: Preparing : 1/1 DEBUG util.py:445: Installing : python3-wheel-1:0.36.2-8.el9.noarch 1/1 DEBUG util.py:445: Running scriptlet: python3-wheel-1:0.36.2-8.el9.noarch 1/1 DEBUG util.py:445: Verifying : python3-wheel-1:0.36.2-8.el9.noarch 1/1 DEBUG util.py:445: Installed: DEBUG util.py:445: python3-wheel-1:0.36.2-8.el9.noarch 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-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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: python3-testtools-2.7.1-1.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch DEBUG util.py:445: python3-wrapt-1.16.0-1.el9s.x86_64 DEBUG util.py:445: python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-41.el9.x86_64 DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: libpq-13.11-1.el9.x86_64 DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: gmp-c++-6.2.0-13.el9.x86_64 DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 DEBUG util.py:445: libxml2-devel-2.9.13-5.el9.x86_64 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-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-config-9.4.0-0.20240315155821.882adf8.el9.noarch DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 DEBUG util.py:445: gmp-devel-6.2.0-13.el9.x86_64 DEBUG util.py:445: pyproject-rpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: openssl-devel-3.0.7-27.el9.x86_64 DEBUG util.py:445: python3-wheel-0.36.2-8.el9.noarch DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos9-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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: python3-testtools-2.7.1-1.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch DEBUG util.py:445: python3-wrapt-1.16.0-1.el9s.x86_64 DEBUG util.py:445: python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-41.el9.x86_64 DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: libpq-13.11-1.el9.x86_64 DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: gmp-c++-6.2.0-13.el9.x86_64 DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 DEBUG util.py:445: libxml2-devel-2.9.13-5.el9.x86_64 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-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-config-9.4.0-0.20240315155821.882adf8.el9.noarch DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 DEBUG util.py:445: gmp-devel-6.2.0-13.el9.x86_64 DEBUG util.py:445: pyproject-rpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: openssl-devel-3.0.7-27.el9.x86_64 DEBUG util.py:445: python3-wheel-0.36.2-8.el9.noarch DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-caracal-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=1038gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\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.kUp5iR 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-24.0.1.dev106 DEBUG util.py:445: + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-24.0.1.dev106-0.20240319001819.99b1f9c.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-24.0.1.dev106 DEBUG util.py:445: + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . DEBUG util.py:445: + /usr/bin/git init -q DEBUG util.py:445: + /usr/bin/git config user.name rpm-build DEBUG util.py:445: + /usr/bin/git config user.email '' DEBUG util.py:445: + /usr/bin/git config gc.auto 0 DEBUG util.py:445: + /usr/bin/git add --force . DEBUG util.py:445: + /usr/bin/git commit -q --allow-empty -a --author 'rpm-build ' -m 'openstack-ironic-24.0.1 base' DEBUG util.py:445: + sed -i /tempest/d setup.cfg DEBUG util.py:445: + rm -rf ironic_tempest_plugin DEBUG util.py:445: + sed -i '/^[[:space:]]*-c{env:.*_CONSTRAINTS_FILE.*/d' tox.ini DEBUG util.py:445: + sed -i 's/^deps = -c{env:.*_CONSTRAINTS_FILE.*/deps =/' tox.ini DEBUG util.py:445: + sed -i '/^minversion.*/d' tox.ini DEBUG util.py:445: + sed -i '/^requires.*virtualenv.*/d' tox.ini DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^doc8.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^doc8.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^bandit.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^bandit.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^pre-commit.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^pre-commit.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^hacking.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^hacking.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^flake8-import-order.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^flake8-import-order.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^sphinx.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^sphinx.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^openstackdocstheme.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^openstackdocstheme.*/d' test-requirements.txt DEBUG util.py:445: + sed -i 's/netaddr.*/netaddr/g' requirements.txt DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.7LGTCm DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + echo pyproject-rpm-macros DEBUG util.py:445: + echo python3-devel DEBUG util.py:445: + echo 'python3dist(pip) >= 19' DEBUG util.py:445: + echo 'python3dist(packaging)' DEBUG util.py:445: + '[' -f pyproject.toml ']' DEBUG util.py:445: + '[' -f setup.py ']' DEBUG util.py:445: + echo 'python3dist(setuptools) >= 40.8' DEBUG util.py:445: + echo 'python3dist(wheel)' DEBUG util.py:445: + rm -rfv '*.dist-info/' DEBUG util.py:445: + '[' -f /usr/bin/python3 ']' DEBUG util.py:445: + mkdir -p /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + echo -n 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: + TMPDIR=/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + RPM_TOXENV=py39 DEBUG util.py:445: + HOSTNAME=rpmbuild DEBUG util.py:445: + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-24.0.1.dev106/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires -t -e py39 DEBUG util.py:443: Handling setuptools >= 40.8 from default build backend DEBUG util.py:443: Requirement satisfied: setuptools >= 40.8 DEBUG util.py:443: (installed: setuptools 65.5.1) DEBUG util.py:443: Handling wheel from default build backend DEBUG util.py:443: Requirement satisfied: wheel DEBUG util.py:443: (installed: wheel 0.36.2) DEBUG util.py:443: Handling wheel from get_requires_for_build_wheel DEBUG util.py:443: Requirement satisfied: wheel DEBUG util.py:443: (installed: wheel 0.36.2) DEBUG util.py:443: Handling pbr>=2.0.0 from get_requires_for_build_wheel DEBUG util.py:443: Requirement satisfied: pbr>=2.0.0 DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling tox-current-env >= 0.0.6 from tox itself DEBUG util.py:443: Requirement not satisfied: tox-current-env >= 0.0.6 DEBUG util.py:443: Exiting dependency generation pass: tox itself DEBUG util.py:445: + cat /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires DEBUG util.py:445: + rm -rfv '*.dist-info/' DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Wrote: /builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm DEBUG util.py:596: Child return code was: 11 INFO backend.py:771: Dynamic buildrequires detected INFO backend.py:772: Going to install missing buildrequires. See root.log for details. INFO backend.py:773: Going to install missing dynamic buildrequires DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm'] DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-caracal-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:08 ago on Tue Mar 19 00:19:07 2024. DEBUG util.py:445: Package gmp-devel-1:6.2.0-13.el9.x86_64 is already installed. DEBUG util.py:445: Package libxml2-devel-2.9.13-5.el9.x86_64 is already installed. DEBUG util.py:445: Package libxslt-devel-1.1.34-9.el9.x86_64 is already installed. DEBUG util.py:445: Package openssl-devel-1:3.0.7-27.el9.x86_64 is already installed. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch is already installed. DEBUG util.py:445: Package pyproject-rpm-macros-1.12.0-1.el9.noarch is already installed. DEBUG util.py:445: Package pyproject-rpm-macros-1.12.0-1.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-devel-3.9.18-3.el9.x86_64 is already installed. DEBUG util.py:445: Package python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch is already installed. DEBUG util.py:445: Package python3-packaging-20.9-5.el9.noarch is already installed. DEBUG util.py:445: Package python3-pbr-5.11.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pip-21.2.3-8.el9.noarch is already installed. DEBUG util.py:445: Package python3-setuptools-65.5.1-2.el9s.noarch is already installed. DEBUG util.py:445: Package python3-wheel-1:0.36.2-8.el9.noarch is already installed. DEBUG util.py:445: Package systemd-252-27.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: python3-tox-current-env noarch 0.0.8-1.el9s delorean-caracal-build-deps 21 k DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: libnsl2 x86_64 2.0.0-1.el9 appstream 31 k DEBUG util.py:445: libtirpc x86_64 1.3.3-6.el9 baseos 93 k DEBUG util.py:445: mpdecimal x86_64 2.5.1-3.el9 appstream 86 k DEBUG util.py:445: python3-appdirs noarch 1.4.4-4.el9 appstream 23 k DEBUG util.py:445: python3-distlib noarch 0.3.7-1.el9s delorean-caracal-build-deps 193 k DEBUG util.py:445: python3-filelock noarch 3.13.1-1.el9s delorean-caracal-build-deps 27 k DEBUG util.py:445: python3-pluggy noarch 0.13.1-7.el9 appstream 41 k DEBUG util.py:445: python3-py noarch 1.10.0-6.el9 appstream 477 k DEBUG util.py:445: python3-toml noarch 0.10.2-6.el9 appstream 42 k DEBUG util.py:445: python3-virtualenv noarch 20.4.4-1.el9s delorean-caracal-build-deps 228 k DEBUG util.py:445: python3-wheel-wheel noarch 1:0.36.2-8.el9 crb 43 k DEBUG util.py:445: python3.11 x86_64 3.11.7-1.el9 appstream 27 k DEBUG util.py:445: python3.11-libs x86_64 3.11.7-1.el9 appstream 9.9 M DEBUG util.py:445: python3.11-pip-wheel noarch 22.3.1-5.el9 appstream 1.4 M DEBUG util.py:445: python3.11-setuptools-wheel noarch 65.5.1-2.el9 appstream 713 k DEBUG util.py:445: python3.12 x86_64 3.12.1-4.el9 appstream 26 k DEBUG util.py:445: python3.12-libs x86_64 3.12.1-4.el9 appstream 9.5 M DEBUG util.py:445: python3.12-pip-wheel noarch 23.2.1-4.el9 appstream 1.5 M DEBUG util.py:445: tox noarch 3.23.0-2.el9s delorean-caracal-build-deps 168 k DEBUG util.py:445: Installing weak dependencies: DEBUG util.py:445: python3.11-devel x86_64 3.11.7-1.el9 appstream 277 k DEBUG util.py:445: python3.12-devel x86_64 3.12.1-4.el9 appstream 322 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ======================================================================================== DEBUG util.py:445: Install 22 Packages DEBUG util.py:445: Total size: 25 M DEBUG util.py:445: Installed size: 98 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] libtirpc-1.3.3-6.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libnsl2-2.0.0-1.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] mpdecimal-2.5.1-3.el9.x86_64.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-pluggy-0.13.1-7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-py-1.10.0-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-toml-0.10.2-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3.11-3.11.7-1.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3.11-devel-3.11.7-1.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3.11-libs-3.11.7-1.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3.11-pip-wheel-22.3.1-5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3.11-setuptools-wheel-65.5.1-2.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3.12-3.12.1-4.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3.12-devel-3.12.1-4.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3.12-libs-3.12.1-4.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3.12-pip-wheel-23.2.1-4.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wheel-wheel-0.36.2-8.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-distlib-0.3.7-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-filelock-3.13.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tox-current-env-0.0.8-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-virtualenv-20.4.4-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] tox-3.23.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: Running transaction check DEBUG util.py:445: Transaction check succeeded. DEBUG util.py:445: Running transaction test DEBUG util.py:445: Transaction test succeeded. DEBUG util.py:445: Running transaction DEBUG util.py:445: Preparing : 1/1 DEBUG util.py:445: Installing : libtirpc-1.3.3-6.el9.x86_64 1/22 DEBUG util.py:445: Installing : libnsl2-2.0.0-1.el9.x86_64 2/22 DEBUG util.py:445: Installing : python3-filelock-3.13.1-1.el9s.noarch 3/22 DEBUG util.py:445: Installing : mpdecimal-2.5.1-3.el9.x86_64 4/22 DEBUG util.py:445: Installing : python3-distlib-0.3.7-1.el9s.noarch 5/22 DEBUG util.py:445: Installing : python3-wheel-wheel-1:0.36.2-8.el9.noarch 6/22 DEBUG util.py:445: Installing : python3.12-pip-wheel-23.2.1-4.el9.noarch 7/22 DEBUG util.py:445: Installing : python3.12-3.12.1-4.el9.x86_64 8/22 DEBUG util.py:445: Installing : python3.12-libs-3.12.1-4.el9.x86_64 9/22 DEBUG util.py:445: Installing : python3.12-devel-3.12.1-4.el9.x86_64 10/22 DEBUG util.py:445: Installing : python3.11-setuptools-wheel-65.5.1-2.el9.noarch 11/22 DEBUG util.py:445: Installing : python3.11-pip-wheel-22.3.1-5.el9.noarch 12/22 DEBUG util.py:445: Installing : python3.11-3.11.7-1.el9.x86_64 13/22 DEBUG util.py:445: Installing : python3.11-libs-3.11.7-1.el9.x86_64 14/22 DEBUG util.py:445: Installing : python3.11-devel-3.11.7-1.el9.x86_64 15/22 DEBUG util.py:445: Installing : python3-toml-0.10.2-6.el9.noarch 16/22 DEBUG util.py:445: Installing : python3-py-1.10.0-6.el9.noarch 17/22 DEBUG util.py:445: Installing : python3-pluggy-0.13.1-7.el9.noarch 18/22 DEBUG util.py:445: Installing : python3-appdirs-1.4.4-4.el9.noarch 19/22 DEBUG util.py:445: Installing : python3-virtualenv-20.4.4-1.el9s.noarch 20/22 DEBUG util.py:445: Installing : tox-3.23.0-2.el9s.noarch 21/22 DEBUG util.py:445: Installing : python3-tox-current-env-0.0.8-1.el9s.noarch 22/22 DEBUG util.py:445: Running scriptlet: python3-tox-current-env-0.0.8-1.el9s.noarch 22/22 DEBUG util.py:445: Verifying : libtirpc-1.3.3-6.el9.x86_64 1/22 DEBUG util.py:445: Verifying : libnsl2-2.0.0-1.el9.x86_64 2/22 DEBUG util.py:445: Verifying : mpdecimal-2.5.1-3.el9.x86_64 3/22 DEBUG util.py:445: Verifying : python3-appdirs-1.4.4-4.el9.noarch 4/22 DEBUG util.py:445: Verifying : python3-pluggy-0.13.1-7.el9.noarch 5/22 DEBUG util.py:445: Verifying : python3-py-1.10.0-6.el9.noarch 6/22 DEBUG util.py:445: Verifying : python3-toml-0.10.2-6.el9.noarch 7/22 DEBUG util.py:445: Verifying : python3.11-3.11.7-1.el9.x86_64 8/22 DEBUG util.py:445: Verifying : python3.11-devel-3.11.7-1.el9.x86_64 9/22 DEBUG util.py:445: Verifying : python3.11-libs-3.11.7-1.el9.x86_64 10/22 DEBUG util.py:445: Verifying : python3.11-pip-wheel-22.3.1-5.el9.noarch 11/22 DEBUG util.py:445: Verifying : python3.11-setuptools-wheel-65.5.1-2.el9.noarch 12/22 DEBUG util.py:445: Verifying : python3.12-3.12.1-4.el9.x86_64 13/22 DEBUG util.py:445: Verifying : python3.12-devel-3.12.1-4.el9.x86_64 14/22 DEBUG util.py:445: Verifying : python3.12-libs-3.12.1-4.el9.x86_64 15/22 DEBUG util.py:445: Verifying : python3.12-pip-wheel-23.2.1-4.el9.noarch 16/22 DEBUG util.py:445: Verifying : python3-wheel-wheel-1:0.36.2-8.el9.noarch 17/22 DEBUG util.py:445: Verifying : python3-distlib-0.3.7-1.el9s.noarch 18/22 DEBUG util.py:445: Verifying : python3-filelock-3.13.1-1.el9s.noarch 19/22 DEBUG util.py:445: Verifying : python3-tox-current-env-0.0.8-1.el9s.noarch 20/22 DEBUG util.py:445: Verifying : python3-virtualenv-20.4.4-1.el9s.noarch 21/22 DEBUG util.py:445: Verifying : tox-3.23.0-2.el9s.noarch 22/22 DEBUG util.py:445: Installed: DEBUG util.py:445: libnsl2-2.0.0-1.el9.x86_64 DEBUG util.py:445: libtirpc-1.3.3-6.el9.x86_64 DEBUG util.py:445: mpdecimal-2.5.1-3.el9.x86_64 DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-distlib-0.3.7-1.el9s.noarch DEBUG util.py:445: python3-filelock-3.13.1-1.el9s.noarch DEBUG util.py:445: python3-pluggy-0.13.1-7.el9.noarch DEBUG util.py:445: python3-py-1.10.0-6.el9.noarch DEBUG util.py:445: python3-toml-0.10.2-6.el9.noarch DEBUG util.py:445: python3-tox-current-env-0.0.8-1.el9s.noarch DEBUG util.py:445: python3-virtualenv-20.4.4-1.el9s.noarch DEBUG util.py:445: python3-wheel-wheel-1:0.36.2-8.el9.noarch DEBUG util.py:445: python3.11-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-devel-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-libs-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-pip-wheel-22.3.1-5.el9.noarch DEBUG util.py:445: python3.11-setuptools-wheel-65.5.1-2.el9.noarch DEBUG util.py:445: python3.12-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-devel-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-libs-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-pip-wheel-23.2.1-4.el9.noarch DEBUG util.py:445: tox-3.23.0-2.el9s.noarch 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-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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: python3-testtools-2.7.1-1.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch DEBUG util.py:445: python3-wrapt-1.16.0-1.el9s.x86_64 DEBUG util.py:445: python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-41.el9.x86_64 DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: libpq-13.11-1.el9.x86_64 DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: gmp-c++-6.2.0-13.el9.x86_64 DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 DEBUG util.py:445: libxml2-devel-2.9.13-5.el9.x86_64 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-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-config-9.4.0-0.20240315155821.882adf8.el9.noarch DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 DEBUG util.py:445: gmp-devel-6.2.0-13.el9.x86_64 DEBUG util.py:445: pyproject-rpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: openssl-devel-3.0.7-27.el9.x86_64 DEBUG util.py:445: python3-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: libtirpc-1.3.3-6.el9.x86_64 DEBUG util.py:445: libnsl2-2.0.0-1.el9.x86_64 DEBUG util.py:445: python3-filelock-3.13.1-1.el9s.noarch DEBUG util.py:445: mpdecimal-2.5.1-3.el9.x86_64 DEBUG util.py:445: python3-distlib-0.3.7-1.el9s.noarch DEBUG util.py:445: python3-wheel-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: python3.12-pip-wheel-23.2.1-4.el9.noarch DEBUG util.py:445: python3.12-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-libs-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-devel-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.11-setuptools-wheel-65.5.1-2.el9.noarch DEBUG util.py:445: python3.11-pip-wheel-22.3.1-5.el9.noarch DEBUG util.py:445: python3.11-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-libs-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-devel-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3-toml-0.10.2-6.el9.noarch DEBUG util.py:445: python3-py-1.10.0-6.el9.noarch DEBUG util.py:445: python3-pluggy-0.13.1-7.el9.noarch DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-virtualenv-20.4.4-1.el9s.noarch DEBUG util.py:445: tox-3.23.0-2.el9s.noarch DEBUG util.py:445: python3-tox-current-env-0.0.8-1.el9s.noarch DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos9-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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: python3-testtools-2.7.1-1.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch DEBUG util.py:445: python3-wrapt-1.16.0-1.el9s.x86_64 DEBUG util.py:445: python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-41.el9.x86_64 DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: libpq-13.11-1.el9.x86_64 DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: gmp-c++-6.2.0-13.el9.x86_64 DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 DEBUG util.py:445: libxml2-devel-2.9.13-5.el9.x86_64 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-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-config-9.4.0-0.20240315155821.882adf8.el9.noarch DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 DEBUG util.py:445: gmp-devel-6.2.0-13.el9.x86_64 DEBUG util.py:445: pyproject-rpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: openssl-devel-3.0.7-27.el9.x86_64 DEBUG util.py:445: python3-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: libtirpc-1.3.3-6.el9.x86_64 DEBUG util.py:445: libnsl2-2.0.0-1.el9.x86_64 DEBUG util.py:445: python3-filelock-3.13.1-1.el9s.noarch DEBUG util.py:445: mpdecimal-2.5.1-3.el9.x86_64 DEBUG util.py:445: python3-distlib-0.3.7-1.el9s.noarch DEBUG util.py:445: python3-wheel-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: python3.12-pip-wheel-23.2.1-4.el9.noarch DEBUG util.py:445: python3.12-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-libs-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-devel-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.11-setuptools-wheel-65.5.1-2.el9.noarch DEBUG util.py:445: python3.11-pip-wheel-22.3.1-5.el9.noarch DEBUG util.py:445: python3.11-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-libs-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-devel-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3-toml-0.10.2-6.el9.noarch DEBUG util.py:445: python3-py-1.10.0-6.el9.noarch DEBUG util.py:445: python3-pluggy-0.13.1-7.el9.noarch DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-virtualenv-20.4.4-1.el9s.noarch DEBUG util.py:445: tox-3.23.0-2.el9s.noarch DEBUG util.py:445: python3-tox-current-env-0.0.8-1.el9s.noarch DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-caracal-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=1038gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\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.LcmQR0 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-24.0.1.dev106 DEBUG util.py:445: + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-24.0.1.dev106-0.20240319001819.99b1f9c.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-24.0.1.dev106 DEBUG util.py:445: + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . DEBUG util.py:445: + /usr/bin/git init -q DEBUG util.py:445: + /usr/bin/git config user.name rpm-build DEBUG util.py:445: + /usr/bin/git config user.email '' DEBUG util.py:445: + /usr/bin/git config gc.auto 0 DEBUG util.py:445: + /usr/bin/git add --force . DEBUG util.py:445: + /usr/bin/git commit -q --allow-empty -a --author 'rpm-build ' -m 'openstack-ironic-24.0.1 base' DEBUG util.py:445: + sed -i /tempest/d setup.cfg DEBUG util.py:445: + rm -rf ironic_tempest_plugin DEBUG util.py:445: + sed -i '/^[[:space:]]*-c{env:.*_CONSTRAINTS_FILE.*/d' tox.ini DEBUG util.py:445: + sed -i 's/^deps = -c{env:.*_CONSTRAINTS_FILE.*/deps =/' tox.ini DEBUG util.py:445: + sed -i '/^minversion.*/d' tox.ini DEBUG util.py:445: + sed -i '/^requires.*virtualenv.*/d' tox.ini DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^doc8.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^doc8.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^bandit.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^bandit.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^pre-commit.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^pre-commit.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^hacking.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^hacking.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^flake8-import-order.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^flake8-import-order.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^sphinx.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^sphinx.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^openstackdocstheme.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^openstackdocstheme.*/d' test-requirements.txt DEBUG util.py:445: + sed -i 's/netaddr.*/netaddr/g' requirements.txt DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.za8Iwb DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + echo pyproject-rpm-macros DEBUG util.py:445: + echo python3-devel DEBUG util.py:445: + echo 'python3dist(pip) >= 19' DEBUG util.py:445: + echo 'python3dist(packaging)' DEBUG util.py:445: + '[' -f pyproject.toml ']' DEBUG util.py:445: + '[' -f setup.py ']' DEBUG util.py:445: + echo 'python3dist(setuptools) >= 40.8' DEBUG util.py:445: + echo 'python3dist(wheel)' DEBUG util.py:445: + rm -rfv '*.dist-info/' DEBUG util.py:445: + '[' -f /usr/bin/python3 ']' DEBUG util.py:445: + mkdir -p /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + echo -n 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: + TMPDIR=/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + RPM_TOXENV=py39 DEBUG util.py:445: + HOSTNAME=rpmbuild DEBUG util.py:445: + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-24.0.1.dev106/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires -t -e py39 DEBUG util.py:443: Handling setuptools >= 40.8 from default build backend DEBUG util.py:443: Requirement satisfied: setuptools >= 40.8 DEBUG util.py:443: (installed: setuptools 65.5.1) DEBUG util.py:443: Handling wheel from default build backend DEBUG util.py:443: Requirement satisfied: wheel DEBUG util.py:443: (installed: wheel 0.36.2) DEBUG util.py:443: Handling wheel from get_requires_for_build_wheel DEBUG util.py:443: Requirement satisfied: wheel DEBUG util.py:443: (installed: wheel 0.36.2) DEBUG util.py:443: Handling pbr>=2.0.0 from get_requires_for_build_wheel DEBUG util.py:443: Requirement satisfied: pbr>=2.0.0 DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling tox-current-env >= 0.0.6 from tox itself DEBUG util.py:443: Requirement satisfied: tox-current-env >= 0.0.6 DEBUG util.py:443: (installed: tox-current-env 0.0.8) DEBUG util.py:443: ___________________________________ summary ____________________________________ DEBUG util.py:443: py39: commands succeeded DEBUG util.py:443: congratulations :) DEBUG util.py:443: Handling pbr>=3.1.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pbr>=3.1.1 DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling SQLAlchemy>=1.4.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: SQLAlchemy>=1.4.0 DEBUG util.py:443: (installed: SQLAlchemy 1.4.51) DEBUG util.py:443: Handling alembic>=1.4.2 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: alembic>=1.4.2 DEBUG util.py:443: (installed: alembic 1.8.1) DEBUG util.py:443: Handling automaton>=1.9.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: automaton>=1.9.0 DEBUG util.py:443: Handling eventlet>=0.30.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: eventlet>=0.30.1 DEBUG util.py:443: (installed: eventlet 0.33.3) DEBUG util.py:443: Handling WebOb>=1.7.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: WebOb>=1.7.1 DEBUG util.py:443: Handling python-cinderclient!=4.0.0,>=3.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: python-cinderclient!=4.0.0,>=3.3.0 DEBUG util.py:443: Handling python-glanceclient>=2.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: python-glanceclient>=2.8.0 DEBUG util.py:443: Handling keystoneauth1>=4.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: keystoneauth1>=4.2.0 DEBUG util.py:443: Handling ironic-lib>=6.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: ironic-lib>=6.0.0 DEBUG util.py:443: Handling stevedore>=1.29.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: stevedore>=1.29.0 DEBUG util.py:443: (installed: stevedore 5.2.0) DEBUG util.py:443: Handling oslo.concurrency>=4.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.concurrency>=4.2.0 DEBUG util.py:443: Handling oslo.config>=6.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.config>=6.8.0 DEBUG util.py:443: (installed: oslo.config 9.4.0) DEBUG util.py:443: Handling oslo.context>=2.22.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.context>=2.22.0 DEBUG util.py:443: Handling oslo.db>=9.1.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.db>=9.1.0 DEBUG util.py:443: (installed: oslo.db 15.0.0) DEBUG util.py:443: Handling oslo.rootwrap>=5.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.rootwrap>=5.8.0 DEBUG util.py:443: Handling oslo.log>=4.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.log>=4.3.0 DEBUG util.py:443: Handling oslo.middleware>=3.31.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.middleware>=3.31.0 DEBUG util.py:443: Handling oslo.policy>=3.7.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.policy>=3.7.0 DEBUG util.py:443: Handling oslo.serialization>=2.25.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.serialization>=2.25.0 DEBUG util.py:443: Handling oslo.service!=1.28.1,>=1.24.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.service!=1.28.1,>=1.24.0 DEBUG util.py:443: Handling oslo.upgradecheck>=1.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.upgradecheck>=1.3.0 DEBUG util.py:443: Handling oslo.utils>=4.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.utils>=4.5.0 DEBUG util.py:443: (installed: oslo.utils 7.1.0) DEBUG util.py:443: Handling osprofiler>=1.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: osprofiler>=1.5.0 DEBUG util.py:443: Handling os-traits>=0.4.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: os-traits>=0.4.0 DEBUG util.py:443: Handling pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 DEBUG util.py:443: Handling pycdlib>=1.11.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: pycdlib>=1.11.0 DEBUG util.py:443: Handling requests>=2.18.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: requests>=2.18.0 DEBUG util.py:443: (installed: requests 2.25.1) DEBUG util.py:443: Handling rfc3986>=1.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: rfc3986>=1.2.0 DEBUG util.py:443: (installed: rfc3986 1.5.0) DEBUG util.py:443: Handling jsonpatch!=1.20,>=1.16 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: jsonpatch!=1.20,>=1.16 DEBUG util.py:443: Handling Jinja2>=3.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: Jinja2>=3.0.0 DEBUG util.py:443: (installed: Jinja2 3.0.1) DEBUG util.py:443: Handling keystonemiddleware>=9.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: keystonemiddleware>=9.5.0 DEBUG util.py:443: Handling oslo.messaging>=14.1.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.messaging>=14.1.0 DEBUG util.py:443: Handling tenacity>=6.3.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: tenacity>=6.3.1 DEBUG util.py:443: Handling oslo.versionedobjects>=1.31.2 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.versionedobjects>=1.31.2 DEBUG util.py:443: Handling jsonschema>=4.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: jsonschema>=4.0.0 DEBUG util.py:443: Handling psutil>=3.2.2 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: psutil>=3.2.2 DEBUG util.py:443: Handling futurist>=1.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: futurist>=1.2.0 DEBUG util.py:443: Handling tooz>=2.7.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: tooz>=2.7.0 DEBUG util.py:443: Handling openstacksdk>=0.48.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: openstacksdk>=0.48.0 DEBUG util.py:443: Handling sushy>=4.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: sushy>=4.8.0 DEBUG util.py:443: Handling construct>=2.9.39 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: construct>=2.9.39 DEBUG util.py:443: Handling netaddr from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: netaddr DEBUG util.py:443: (installed: netaddr 0.8.0) DEBUG util.py:443: Handling coverage!=4.4,>=4.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: coverage!=4.4,>=4.0 DEBUG util.py:443: Handling ddt>=1.2.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: ddt>=1.2.1 DEBUG util.py:443: Handling fixtures>=3.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: fixtures>=3.0.0 DEBUG util.py:443: (installed: fixtures 4.0.1) DEBUG util.py:443: Handling PyMySQL>=0.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: PyMySQL>=0.8.0 DEBUG util.py:443: (installed: PyMySQL 0.10.1) DEBUG util.py:443: Handling iso8601>=0.1.11 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: iso8601>=0.1.11 DEBUG util.py:443: (installed: iso8601 1.1.0) DEBUG util.py:443: Handling oslo.reports>=1.18.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: oslo.reports>=1.18.0 DEBUG util.py:443: Handling oslotest>=3.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslotest>=3.2.0 DEBUG util.py:443: (installed: oslotest 5.0.0) DEBUG util.py:443: Handling stestr>=2.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: stestr>=2.0.0 DEBUG util.py:443: Handling psycopg2>=2.8.5 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: psycopg2>=2.8.5 DEBUG util.py:443: (installed: psycopg2 2.9.9) DEBUG util.py:443: Handling testtools>=2.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: testtools>=2.5.0 DEBUG util.py:443: (installed: testtools 2.7.1) DEBUG util.py:443: Handling WebTest>=2.0.27 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: WebTest>=2.0.27 DEBUG util.py:443: Handling pysnmp-lextudio>=5.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: pysnmp-lextudio>=5.0.0 DEBUG util.py:443: Handling pyasn1>=0.5.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: pyasn1>=0.5.1 DEBUG util.py:443: Handling pyasn1-modules>=0.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement not satisfied: pyasn1-modules>=0.3.0 DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: running dist_info DEBUG util.py:443: writing ironic.egg-info/PKG-INFO DEBUG util.py:443: writing dependency_links to ironic.egg-info/dependency_links.txt DEBUG util.py:443: writing entry points to ironic.egg-info/entry_points.txt DEBUG util.py:443: writing requirements to ironic.egg-info/requires.txt DEBUG util.py:443: writing top-level names to ironic.egg-info/top_level.txt DEBUG util.py:443: writing pbr to ironic.egg-info/pbr.json DEBUG util.py:443: [pbr] Processing SOURCES.txt DEBUG util.py:443: [pbr] In git context, generating filelist from git DEBUG util.py:443: warning: no previously-included files found matching '.gitignore' DEBUG util.py:443: warning: no previously-included files found matching '.gitreview' DEBUG util.py:443: warning: no previously-included files matching '*.pyc' found anywhere in distribution DEBUG util.py:443: adding license file 'LICENSE' DEBUG util.py:443: adding license file 'AUTHORS' DEBUG util.py:443: writing manifest file 'ironic.egg-info/SOURCES.txt' DEBUG util.py:443: creating '/builddir/build/BUILD/ironic-24.0.1.dev106/ironic-24.0.1.dev106.dist-info' DEBUG util.py:443: adding license file "LICENSE" (matched pattern "LICEN[CS]E*") DEBUG util.py:443: adding license file "AUTHORS" (matched pattern "AUTHORS*") DEBUG util.py:443: Handling pbr (>=3.1.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: pbr (>=3.1.1) DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling SQLAlchemy (>=1.4.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: SQLAlchemy (>=1.4.0) DEBUG util.py:443: (installed: SQLAlchemy 1.4.51) DEBUG util.py:443: Handling alembic (>=1.4.2) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: alembic (>=1.4.2) DEBUG util.py:443: (installed: alembic 1.8.1) DEBUG util.py:443: Handling automaton (>=1.9.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: automaton (>=1.9.0) DEBUG util.py:443: Handling eventlet (>=0.30.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: eventlet (>=0.30.1) DEBUG util.py:443: (installed: eventlet 0.33.3) DEBUG util.py:443: Handling WebOb (>=1.7.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: WebOb (>=1.7.1) DEBUG util.py:443: Handling python-cinderclient (!=4.0.0,>=3.3.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: python-cinderclient (!=4.0.0,>=3.3.0) DEBUG util.py:443: Handling python-glanceclient (>=2.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: python-glanceclient (>=2.8.0) DEBUG util.py:443: Handling keystoneauth1 (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: keystoneauth1 (>=4.2.0) DEBUG util.py:443: Handling ironic-lib (>=6.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: ironic-lib (>=6.0.0) DEBUG util.py:443: Handling stevedore (>=1.29.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: stevedore (>=1.29.0) DEBUG util.py:443: (installed: stevedore 5.2.0) DEBUG util.py:443: Handling oslo.concurrency (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.concurrency (>=4.2.0) DEBUG util.py:443: Handling oslo.config (>=6.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.config (>=6.8.0) DEBUG util.py:443: (installed: oslo.config 9.4.0) DEBUG util.py:443: Handling oslo.context (>=2.22.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.context (>=2.22.0) DEBUG util.py:443: Handling oslo.db (>=9.1.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.db (>=9.1.0) DEBUG util.py:443: (installed: oslo.db 15.0.0) DEBUG util.py:443: Handling oslo.rootwrap (>=5.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.rootwrap (>=5.8.0) DEBUG util.py:443: Handling oslo.log (>=4.3.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.log (>=4.3.0) DEBUG util.py:443: Handling oslo.middleware (>=3.31.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.middleware (>=3.31.0) DEBUG util.py:443: Handling oslo.policy (>=3.7.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.policy (>=3.7.0) DEBUG util.py:443: Handling oslo.serialization (>=2.25.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.serialization (>=2.25.0) DEBUG util.py:443: Handling oslo.service (!=1.28.1,>=1.24.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.service (!=1.28.1,>=1.24.0) DEBUG util.py:443: Handling oslo.upgradecheck (>=1.3.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.upgradecheck (>=1.3.0) DEBUG util.py:443: Handling oslo.utils (>=4.5.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.utils (>=4.5.0) DEBUG util.py:443: (installed: oslo.utils 7.1.0) DEBUG util.py:443: Handling osprofiler (>=1.5.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: osprofiler (>=1.5.0) DEBUG util.py:443: Handling os-traits (>=0.4.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: os-traits (>=0.4.0) DEBUG util.py:443: Handling pecan (!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: pecan (!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0) DEBUG util.py:443: Handling pycdlib (>=1.11.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: pycdlib (>=1.11.0) DEBUG util.py:443: Handling requests (>=2.18.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: requests (>=2.18.0) DEBUG util.py:443: (installed: requests 2.25.1) DEBUG util.py:443: Handling rfc3986 (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: rfc3986 (>=1.2.0) DEBUG util.py:443: (installed: rfc3986 1.5.0) DEBUG util.py:443: Handling jsonpatch (!=1.20,>=1.16) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: jsonpatch (!=1.20,>=1.16) DEBUG util.py:443: Handling Jinja2 (>=3.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: Jinja2 (>=3.0.0) DEBUG util.py:443: (installed: Jinja2 3.0.1) DEBUG util.py:443: Handling keystonemiddleware (>=9.5.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: keystonemiddleware (>=9.5.0) DEBUG util.py:443: Handling oslo.messaging (>=14.1.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.messaging (>=14.1.0) DEBUG util.py:443: Handling tenacity (>=6.3.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: tenacity (>=6.3.1) DEBUG util.py:443: Handling oslo.versionedobjects (>=1.31.2) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: oslo.versionedobjects (>=1.31.2) DEBUG util.py:443: Handling jsonschema (>=4.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: jsonschema (>=4.0.0) DEBUG util.py:443: Handling psutil (>=3.2.2) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: psutil (>=3.2.2) DEBUG util.py:443: Handling futurist (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: futurist (>=1.2.0) DEBUG util.py:443: Handling tooz (>=2.7.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: tooz (>=2.7.0) DEBUG util.py:443: Handling openstacksdk (>=0.48.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: openstacksdk (>=0.48.0) DEBUG util.py:443: Handling sushy (>=4.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: sushy (>=4.8.0) DEBUG util.py:443: Handling construct (>=2.9.39) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement not satisfied: construct (>=2.9.39) DEBUG util.py:443: Handling netaddr from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: netaddr DEBUG util.py:443: (installed: netaddr 0.8.0) DEBUG util.py:443: Handling virtualbmc (>=1.4.0) ; extra == 'devstack' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: virtualbmc (>=1.4.0) ; extra == 'devstack' DEBUG util.py:443: Handling oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' DEBUG util.py:443: Handling oslo.i18n (>=3.20.0) ; extra == 'i18n' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslo.i18n (>=3.20.0) ; extra == 'i18n' DEBUG util.py:443: Handling coverage (!=4.4,>=4.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: coverage (!=4.4,>=4.0) ; extra == 'test' DEBUG util.py:443: Handling ddt (>=1.2.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: ddt (>=1.2.1) ; extra == 'test' DEBUG util.py:443: Handling fixtures (>=3.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: fixtures (>=3.0.0) ; extra == 'test' DEBUG util.py:443: Handling PyMySQL (>=0.8.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: PyMySQL (>=0.8.0) ; extra == 'test' DEBUG util.py:443: Handling iso8601 (>=0.1.11) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: iso8601 (>=0.1.11) ; extra == 'test' DEBUG util.py:443: Handling oslo.reports (>=1.18.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'test' DEBUG util.py:443: Handling oslotest (>=3.2.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslotest (>=3.2.0) ; extra == 'test' DEBUG util.py:443: Handling stestr (>=2.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: stestr (>=2.0.0) ; extra == 'test' DEBUG util.py:443: Handling psycopg2 (>=2.8.5) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: psycopg2 (>=2.8.5) ; extra == 'test' DEBUG util.py:443: Handling testtools (>=2.5.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: testtools (>=2.5.0) ; extra == 'test' DEBUG util.py:443: Handling WebTest (>=2.0.27) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: WebTest (>=2.0.27) ; extra == 'test' DEBUG util.py:443: Handling pysnmp-lextudio (>=5.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: pysnmp-lextudio (>=5.0.0) ; extra == 'test' DEBUG util.py:443: Handling pyasn1 (>=0.5.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: pyasn1 (>=0.5.1) ; extra == 'test' DEBUG util.py:443: Handling pyasn1-modules (>=0.3.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: pyasn1-modules (>=0.3.0) ; extra == 'test' DEBUG util.py:445: + cat /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires DEBUG util.py:445: + rm -rfv ironic-24.0.1.dev106.dist-info/ DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/LICENSE' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/AUTHORS' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/METADATA' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/entry_points.txt' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/pbr.json' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/top_level.txt' DEBUG util.py:443: removed directory 'ironic-24.0.1.dev106.dist-info/' DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Wrote: /builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm DEBUG util.py:596: Child return code was: 11 INFO backend.py:771: Dynamic buildrequires detected INFO backend.py:772: Going to install missing buildrequires. See root.log for details. INFO backend.py:773: Going to install missing dynamic buildrequires DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm'] DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-caracal-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:14 ago on Tue Mar 19 00:19:07 2024. DEBUG util.py:445: Package gmp-devel-1:6.2.0-13.el9.x86_64 is already installed. DEBUG util.py:445: Package libxml2-devel-2.9.13-5.el9.x86_64 is already installed. DEBUG util.py:445: Package libxslt-devel-1.1.34-9.el9.x86_64 is already installed. DEBUG util.py:445: Package openssl-devel-1:3.0.7-27.el9.x86_64 is already installed. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch is already installed. DEBUG util.py:445: Package pyproject-rpm-macros-1.12.0-1.el9.noarch is already installed. DEBUG util.py:445: Package pyproject-rpm-macros-1.12.0-1.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-devel-3.9.18-3.el9.x86_64 is already installed. DEBUG util.py:445: Package python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch is already installed. DEBUG util.py:445: Package python3-alembic-1.8.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-eventlet-0.33.3-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-fixtures-4.0.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-iso8601-1.1.0-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-netaddr-0.8.0-5.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-config-2:9.4.0-0.20240315155821.882adf8.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch is already installed. DEBUG util.py:445: Package python3-packaging-20.9-5.el9.noarch is already installed. DEBUG util.py:445: Package python3-pbr-5.11.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pbr-5.11.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pip-21.2.3-8.el9.noarch is already installed. DEBUG util.py:445: Package python3-psycopg2-2.9.9-2.el9s.x86_64 is already installed. DEBUG util.py:445: Package python3-PyMySQL-0.10.1-6.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-rfc3986-1.5.0-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-setuptools-65.5.1-2.el9s.noarch is already installed. DEBUG util.py:445: Package python3-sqlalchemy-1.4.51-2.el9s.x86_64 is already installed. DEBUG util.py:445: Package python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch is already installed. DEBUG util.py:445: Package python3-testtools-2.7.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-tox-current-env-0.0.8-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-wheel-1:0.36.2-8.el9.noarch is already installed. DEBUG util.py:445: Package systemd-252-27.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: python3-automaton noarch 3.2.0-0.20230904140022.9255778.el9 delorean-component-common 41 k DEBUG util.py:445: python3-cinderclient noarch 9.5.0-0.20240305134428.e01516d.el9 delorean-component-clients 217 k DEBUG util.py:445: python3-construct noarch 2.10.70-2.el9s delorean-caracal-testing 115 k DEBUG util.py:445: python3-coverage x86_64 7.3.2-2.el9s delorean-caracal-testing 292 k DEBUG util.py:445: python3-ddt noarch 1.6.0-1.el9s delorean-caracal-testing 19 k DEBUG util.py:445: python3-futurist noarch 3.0.0-0.20240226181950.4e14db5.el9 delorean-component-common 61 k DEBUG util.py:445: python3-glanceclient noarch 1:4.5.0-0.20240305131741.f683776.el9 delorean-component-clients 146 k DEBUG util.py:445: python3-ironic-lib noarch 6.0.0-0.20240226203254.42fa5d6.el9 delorean-component-baremetal 153 k DEBUG util.py:445: python3-jsonpatch noarch 1.21-16.el9 appstream 26 k DEBUG util.py:445: python3-jsonschema noarch 4.16.0-2.el9s delorean-caracal-testing 138 k DEBUG util.py:445: python3-keystoneauth1 noarch 5.6.0-0.20240226192318.e071ad4.el9 delorean-component-keystone 415 k DEBUG util.py:445: python3-keystonemiddleware noarch 10.6.0-0.20240226193224.b81c50f.el9 delorean-component-keystone 104 k DEBUG util.py:445: python3-openstacksdk noarch 3.0.0-0.20240226205222.04cdd0a.el9 delorean-component-clients 860 k DEBUG util.py:445: python3-os-traits noarch 3.0.0-0.20230718121412.cff125c.el9 delorean-component-common 48 k DEBUG util.py:445: python3-oslo-concurrency noarch 6.0.0-0.20240227074203.53709ba.el9 delorean-component-common 41 k DEBUG util.py:445: python3-oslo-context noarch 5.5.0-0.20240305133447.e31a7a1.el9 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-log noarch 5.5.0-0.20240226183819.a892465.el9 delorean-component-common 75 k DEBUG util.py:445: python3-oslo-messaging noarch 14.6.0-0.20240112093051.3788846.el9 delorean-component-common 222 k DEBUG util.py:445: python3-oslo-middleware noarch 6.1.0-0.20240226204046.531f39e.el9 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-policy noarch 4.3.0-0.20240226200118.4b7a6f7.el9 delorean-component-common 74 k DEBUG util.py:445: python3-oslo-reports noarch 3.3.0-0.20240226202442.592d8ac.el9 delorean-component-common 57 k DEBUG util.py:445: python3-oslo-rootwrap noarch 7.2.0-0.20240226195306.c6cf187.el9 delorean-component-common 43 k DEBUG util.py:445: python3-oslo-serialization noarch 5.4.0-0.20240229141206.548c7a3.el9 delorean-component-common 32 k DEBUG util.py:445: python3-oslo-service noarch 3.4.0-0.20240226205622.f425dd1.el9 delorean-component-common 68 k DEBUG util.py:445: python3-oslo-upgradecheck noarch 2.3.0-0.20240226194554.b6db590.el9 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-versionedobjects noarch 3.3.0-0.20240226185900.25db0cf.el9 delorean-component-common 76 k DEBUG util.py:445: python3-osprofiler noarch 4.1.0-0.20230714071424.3c5fead.el9 delorean-component-common 134 k DEBUG util.py:445: python3-pecan noarch 1.4.2-2.el9s delorean-caracal-testing 272 k DEBUG util.py:445: python3-psutil x86_64 5.8.0-12.el9 appstream 214 k DEBUG util.py:445: python3-pyasn1 noarch 0.5.1-3.el9s delorean-caracal-testing 139 k DEBUG util.py:445: python3-pyasn1-modules noarch 0.5.1-3.el9s delorean-caracal-testing 249 k DEBUG util.py:445: python3-pycdlib noarch 1.11.0-5.el9 appstream 248 k DEBUG util.py:445: python3-pysnmp-lextudio noarch 5.0.26-2.el9s delorean-caracal-testing 587 k DEBUG util.py:445: python3-stestr noarch 4.1.0-1.el9s delorean-caracal-testing 159 k DEBUG util.py:445: python3-sushy noarch 5.0.0-0.20240226191521.8929cce.el9 delorean-component-baremetal 187 k DEBUG util.py:445: python3-tenacity noarch 8.2.3-1.el9s delorean-caracal-testing 46 k DEBUG util.py:445: python3-tooz noarch 6.0.0-0.20240229141453.1d0ece2.el9 delorean-component-common 103 k DEBUG util.py:445: python3-webob noarch 1.8.7-1.el9s delorean-caracal-testing 230 k DEBUG util.py:445: python3-webtest noarch 3.0.0-1.el9s delorean-caracal-testing 80 k DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: memcached x86_64 1.6.9-7.el9 appstream 174 k DEBUG util.py:445: python-oslo-cache-lang noarch 3.7.0-0.20240227073749.e8de6c9.el9 delorean-component-common 16 k DEBUG util.py:445: python-oslo-concurrency-lang noarch 6.0.0-0.20240227074203.53709ba.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-log-lang noarch 5.5.0-0.20240226183819.a892465.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-middleware-lang noarch 6.1.0-0.20240226204046.531f39e.el9 delorean-component-common 11 k DEBUG util.py:445: python-oslo-policy-lang noarch 4.3.0-0.20240226200118.4b7a6f7.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-versionedobjects-lang noarch 3.3.0-0.20240226185900.25db0cf.el9 delorean-component-common 12 k DEBUG util.py:445: python-pycadf-common noarch 3.1.1-0.20230706150346.4179996.el9 delorean-component-common 14 k DEBUG util.py:445: python3-amqp noarch 5.2.0-2.el9s delorean-caracal-testing 93 k DEBUG util.py:445: python3-async-timeout noarch 4.0.2-5.el9s delorean-caracal-testing 18 k DEBUG util.py:445: python3-attrs noarch 20.3.0-7.el9 appstream 87 k DEBUG util.py:445: python3-autopage noarch 0.5.2-3.el9s delorean-caracal-testing 59 k DEBUG util.py:445: python3-bcrypt x86_64 3.2.2-4.el9s delorean-caracal-testing 43 k DEBUG util.py:445: python3-beautifulsoup4 noarch 4.12.3-2.el9s delorean-caracal-testing 250 k DEBUG util.py:445: python3-binary-memcached noarch 0.31.2-1.el9s delorean-caracal-testing 37 k DEBUG util.py:445: python3-cachetools noarch 5.3.2-2.el9s delorean-caracal-testing 32 k DEBUG util.py:445: python3-cliff noarch 4.6.0-0.20240226181305.b6119d5.el9 delorean-component-common 93 k DEBUG util.py:445: python3-cmd2 noarch 2.4.2-1.el9s delorean-caracal-testing 303 k DEBUG util.py:445: python3-dateutil noarch 1:2.8.1-7.el9 baseos 288 k DEBUG util.py:445: python3-dogpile-cache noarch 1.3.1-1.el9s delorean-caracal-testing 102 k DEBUG util.py:445: python3-etcd3gw noarch 2.4.0-1.el9s delorean-caracal-testing 46 k DEBUG util.py:445: python3-fasteners noarch 0.19-1.el9s delorean-caracal-testing 37 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-3.el9s delorean-caracal-testing 22 k DEBUG util.py:445: python3-importlib-metadata noarch 6.8.0-1.el9s delorean-caracal-testing 47 k DEBUG util.py:445: python3-inotify noarch 0.9.6-25.el9 baseos 53 k DEBUG util.py:445: python3-jaraco noarch 8.2.1-4.el9s delorean-caracal-testing 10 k DEBUG util.py:445: python3-jaraco-classes noarch 3.2.1-5.el9s delorean-caracal-testing 18 k DEBUG util.py:445: python3-jeepney noarch 0.8.0-3.el9s delorean-caracal-testing 345 k DEBUG util.py:445: python3-jmespath noarch 1.0.1-1.el9s delorean-caracal-testing 45 k DEBUG util.py:445: python3-jsonpointer noarch 2.0-4.el9 appstream 19 k DEBUG util.py:445: python3-jwt noarch 2.6.0-2.el9s delorean-caracal-testing 45 k DEBUG util.py:445: python3-kazoo noarch 2.8.0-2.el9s delorean-caracal-testing 156 k DEBUG util.py:445: python3-keyring noarch 24.3.0-4.el9s delorean-caracal-testing 86 k DEBUG util.py:445: python3-keystoneclient noarch 1:5.4.0-0.20240305130254.c66d778.el9 delorean-component-clients 235 k DEBUG util.py:445: python3-kombu noarch 1:5.3.5-1.el9s delorean-caracal-testing 337 k DEBUG util.py:445: python3-logutils noarch 0.3.5-15.el9s delorean-caracal-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-memcached noarch 1.59-3.el9s delorean-caracal-testing 39 k DEBUG util.py:445: python3-more-itertools noarch 10.1.0-1.el9s delorean-caracal-testing 83 k DEBUG util.py:445: python3-msgpack x86_64 1.0.7-1.el9s delorean-caracal-testing 98 k DEBUG util.py:445: python3-os-service-types noarch 1.7.0-0.20230629121435.0b2f473.el9 delorean-component-clients 36 k DEBUG util.py:445: python3-oslo-cache noarch 3.7.0-0.20240227073749.e8de6c9.el9 delorean-component-common 62 k DEBUG util.py:445: python3-oslo-cache+dogpile noarch 3.7.0-0.20240227073749.e8de6c9.el9 delorean-component-common 8.0 k DEBUG util.py:445: python3-oslo-cache+etcd3gw noarch 3.7.0-0.20240227073749.e8de6c9.el9 delorean-component-common 7.9 k DEBUG util.py:445: python3-oslo-messaging+amqp1 noarch 14.6.0-0.20240112093051.3788846.el9 delorean-component-common 8.0 k DEBUG util.py:445: python3-oslo-metrics noarch 0.8.0-0.20240226185450.1ebb7f8.el9 delorean-component-common 23 k DEBUG util.py:445: python3-paste noarch 3.7.1-1.el9s delorean-caracal-testing 474 k DEBUG util.py:445: python3-paste-deploy noarch 3.1.0-2.el9s delorean-caracal-testing 38 k DEBUG util.py:445: python3-platformdirs noarch 3.11.0-1.el9s delorean-caracal-testing 35 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.19.0-2.el9s delorean-caracal-testing 91 k DEBUG util.py:445: python3-pyOpenSSL noarch 20.0.1-2.el9s delorean-caracal-testing 89 k DEBUG util.py:445: python3-pycadf noarch 3.1.1-0.20230706150346.4179996.el9 delorean-component-common 55 k DEBUG util.py:445: python3-pymemcache noarch 4.0.0-1.el9s delorean-caracal-testing 120 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-8.el9s delorean-caracal-testing 51 k DEBUG util.py:445: python3-pyperclip noarch 1.8.2-2.el9s delorean-caracal-testing 28 k DEBUG util.py:445: python3-pyrsistent x86_64 0.17.3-8.el9 appstream 114 k DEBUG util.py:445: python3-qpid-proton x86_64 0.35.0-2.el9s delorean-caracal-testing 408 k DEBUG util.py:445: python3-redis noarch 5.0.1-1.el9s delorean-caracal-testing 392 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-10.el9s delorean-caracal-testing 31 k DEBUG util.py:445: python3-requestsexceptions noarch 1.4.0-0.20230628075340.d7ac0ff.el9 delorean-component-common 15 k DEBUG util.py:445: python3-routes noarch 2.5.1-1.el9s delorean-caracal-testing 188 k DEBUG util.py:445: python3-secretstorage noarch 3.3.1-1.el9s delorean-caracal-testing 35 k DEBUG util.py:445: python3-smi-lextudio noarch 1.1.13-1.el9s delorean-caracal-testing 133 k DEBUG util.py:445: python3-soupsieve noarch 2.5-1.el9s delorean-caracal-testing 73 k DEBUG util.py:445: python3-statsd noarch 3.2.1-20.el9s delorean-caracal-testing 34 k DEBUG util.py:445: python3-tomlkit noarch 0.12.3-3.el9s delorean-caracal-testing 85 k DEBUG util.py:445: python3-tooz+redis noarch 6.0.0-0.20240229141453.1d0ece2.el9 delorean-component-common 7.7 k DEBUG util.py:445: python3-tooz+zake noarch 6.0.0-0.20240229141453.1d0ece2.el9 delorean-component-common 7.7 k DEBUG util.py:445: python3-uhashring noarch 2.3-3.el9s delorean-caracal-testing 24 k DEBUG util.py:445: python3-vine noarch 5.1.0-1.el9s delorean-caracal-testing 25 k DEBUG util.py:445: python3-voluptuous noarch 0.14.2-1.el9s delorean-caracal-testing 60 k DEBUG util.py:445: python3-waitress noarch 2.1.2-1.el9s delorean-caracal-testing 93 k DEBUG util.py:445: python3-warlock noarch 2.0.1-3.el9s delorean-caracal-testing 20 k DEBUG util.py:445: python3-wcwidth noarch 0.2.6-1.el9s delorean-caracal-testing 42 k DEBUG util.py:445: python3-yappi x86_64 1.3.6-1.el9s delorean-caracal-testing 55 k DEBUG util.py:445: python3-zake noarch 0.2.2-22.el9s delorean-caracal-testing 45 k DEBUG util.py:445: python3-zeroconf noarch 0.38.7-1.el9s delorean-caracal-testing 141 k DEBUG util.py:445: python3-zipp noarch 3.6.0-1.el9s delorean-caracal-testing 16 k DEBUG util.py:445: qpid-proton-c x86_64 0.35.0-2.el9s delorean-caracal-testing 225 k DEBUG util.py:445: Installing weak dependencies: DEBUG util.py:445: python3-jwt+crypto noarch 2.6.0-2.el9s delorean-caracal-testing 9.0 k DEBUG util.py:445: python3-keyring+completion noarch 24.3.0-4.el9s delorean-caracal-testing 12 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ===================================================================================================================== DEBUG util.py:445: Install 121 Packages DEBUG util.py:445: Total size: 14 M DEBUG util.py:445: Installed size: 59 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python3-ironic-lib-6.0.0-0.20240226203254.42fa5d6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sushy-5.0.0-0.20240226191521.8929cce.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cinderclient-9.5.0-0.20240305134428.e01516d.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-glanceclient-4.5.0-0.20240305131741.f683776.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneclient-5.4.0-0.20240305130254.c66d778.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-openstacksdk-3.0.0-0.20240226205222.04cdd0a.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-service-types-1.7.0-0.20230629121435.0b2f473.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-cache-lang-3.7.0-0.20240227073749.e8de6c9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-concurrency-lang-6.0.0-0.20240227074203.53709ba.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-log-lang-5.5.0-0.20240226183819.a892465.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-middleware-lang-6.1.0-0.20240226204046.531f39e.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-policy-lang-4.3.0-0.20240226200118.4b7a6f7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-versionedobjects-lang-3.3.0-0.20240226185900.25db0cf.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-pycadf-common-3.1.1-0.20230706150346.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-automaton-3.2.0-0.20230904140022.9255778.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cliff-4.6.0-0.20240226181305.b6119d5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-futurist-3.0.0-0.20240226181950.4e14db5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-traits-3.0.0-0.20230718121412.cff125c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache+dogpile-3.7.0-0.20240227073749.e8de6c9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache+etcd3gw-3.7.0-0.20240227073749.e8de6c9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache-3.7.0-0.20240227073749.e8de6c9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-concurrency-6.0.0-0.20240227074203.53709ba.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-context-5.5.0-0.20240305133447.e31a7a1.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-log-5.5.0-0.20240226183819.a892465.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-messaging+amqp1-14.6.0-0.20240112093051.3788846.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-messaging-14.6.0-0.20240112093051.3788846.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-metrics-0.8.0-0.20240226185450.1ebb7f8.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-middleware-6.1.0-0.20240226204046.531f39e.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-policy-4.3.0-0.20240226200118.4b7a6f7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-reports-3.3.0-0.20240226202442.592d8ac.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-rootwrap-7.2.0-0.20240226195306.c6cf187.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-serialization-5.4.0-0.20240229141206.548c7a3.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-service-3.4.0-0.20240226205622.f425dd1.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-upgradecheck-2.3.0-0.20240226194554.b6db590.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-versionedobjects-3.3.0-0.20240226185900.25db0cf.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osprofiler-4.1.0-0.20230714071424.3c5fead.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycadf-3.1.1-0.20230706150346.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-requestsexceptions-1.4.0-0.20230628075340.d7ac0ff.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz+redis-6.0.0-0.20240229141453.1d0ece2.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz+zake-6.0.0-0.20240229141453.1d0ece2.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz-6.0.0-0.20240229141453.1d0ece2.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneauth1-5.6.0-0.20240226192318.e071ad4.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystonemiddleware-10.6.0-0.20240226193224.b81c50f.el9.noarch.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-inotify-0.9.6-25.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] memcached-1.6.9-7.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-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-lxml-4.6.5-3.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-pycdlib-1.11.0-5.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-amqp-5.2.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-async-timeout-4.0.2-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-autopage-0.5.2-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-bcrypt-3.2.2-4.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-beautifulsoup4-4.12.3-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-binary-memcached-0.31.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cachetools-5.3.2-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cmd2-2.4.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-construct-2.10.70-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-coverage-7.3.2-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ddt-1.6.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dogpile-cache-1.3.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-etcd3gw-2.4.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fasteners-0.19-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ifaddr-0.1.7-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-importlib-metadata-6.8.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jaraco-8.2.1-4.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jaraco-classes-3.2.1-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jeepney-0.8.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jmespath-1.0.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonschema-4.16.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jwt+crypto-2.6.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jwt-2.6.0-2.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+completion-24.3.0-4.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keyring-24.3.0-4.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-kombu-5.3.5-1.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-more-itertools-10.1.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-msgpack-1.0.7-1.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-3.7.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-deploy-3.1.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pecan-1.4.2-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-platformdirs-3.11.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-prometheus_client-0.19.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-pyasn1-0.5.1-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyasn1-modules-0.5.1-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pymemcache-4.0.0-1.el9s.noarch.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.2-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pysnmp-lextudio-5.0.26-2.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-5.0.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-repoze-lru-0.7-10.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-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-smi-lextudio-1.1.13-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-soupsieve-2.5-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-4.1.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tenacity-8.2.3-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tomlkit-0.12.3-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-uhashring-2.3-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-vine-5.1.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-voluptuous-0.14.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-waitress-2.1.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-warlock-2.0.1-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wcwidth-0.2.6-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webob-1.8.7-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webtest-3.0.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-yappi-1.3.6-1.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zake-0.2.2-22.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zeroconf-0.38.7-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zipp-3.6.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] qpid-proton-c-0.35.0-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: Running transaction check DEBUG util.py:445: Transaction check succeeded. DEBUG util.py:445: Running transaction test DEBUG util.py:445: Transaction test succeeded. DEBUG util.py:445: Running transaction DEBUG util.py:445: Preparing : 1/1 DEBUG util.py:445: Installing : python3-webob-1.8.7-1.el9s.noarch 1/121 DEBUG util.py:445: Installing : python3-prettytable-0.7.2-27.el9.noarch 2/121 DEBUG util.py:445: Installing : python3-oslo-context-5.5.0-0.20240305133447.e31a 3/121 DEBUG util.py:445: Installing : python3-jeepney-0.8.0-3.el9s.noarch 4/121 DEBUG util.py:445: Installing : python3-futurist-3.0.0-0.20240226181950.4e14db5. 5/121 DEBUG util.py:445: Installing : python3-os-service-types-1.7.0-0.20230629121435. 6/121 DEBUG util.py:445: Installing : python3-keystoneauth1-5.6.0-0.20240226192318.e07 7/121 DEBUG util.py:445: Installing : python3-secretstorage-3.3.1-1.el9s.noarch 8/121 DEBUG util.py:445: Installing : python3-voluptuous-0.14.2-1.el9s.noarch 9/121 DEBUG util.py:445: Installing : python3-vine-5.1.0-1.el9s.noarch 10/121 DEBUG util.py:445: Installing : python3-amqp-5.2.0-2.el9s.noarch 11/121 DEBUG util.py:445: Installing : python3-tenacity-8.2.3-1.el9s.noarch 12/121 DEBUG util.py:445: Installing : python3-pyasn1-0.5.1-3.el9s.noarch 13/121 DEBUG util.py:445: Installing : python3-pyOpenSSL-20.0.1-2.el9s.noarch 14/121 DEBUG util.py:445: Installing : python3-msgpack-1.0.7-1.el9s.x86_64 15/121 DEBUG util.py:445: Installing : python3-oslo-serialization-5.4.0-0.2024022914120 16/121 DEBUG util.py:445: Installing : python3-fasteners-0.19-1.el9s.noarch 17/121 DEBUG util.py:445: Installing : python3-dogpile-cache-1.3.1-1.el9s.noarch 18/121 DEBUG util.py:445: Installing : python3-bcrypt-3.2.2-4.el9s.x86_64 19/121 DEBUG util.py:445: Installing : python3-attrs-20.3.0-7.el9.noarch 20/121 DEBUG util.py:445: Installing : python3-dateutil-1:2.8.1-7.el9.noarch 21/121 DEBUG util.py:445: Installing : python3-paste-3.7.1-1.el9s.noarch 22/121 DEBUG util.py:445: Installing : python3-kombu-1:5.3.5-1.el9s.noarch 23/121 DEBUG util.py:445: Installing : python3-etcd3gw-2.4.0-1.el9s.noarch 24/121 DEBUG util.py:445: Installing : python3-jwt-2.6.0-2.el9s.noarch 25/121 DEBUG util.py:445: Installing : python3-jwt+crypto-2.6.0-2.el9s.noarch 26/121 DEBUG util.py:445: Installing : qpid-proton-c-0.35.0-2.el9s.x86_64 27/121 DEBUG util.py:445: Installing : python3-qpid-proton-0.35.0-2.el9s.x86_64 28/121 DEBUG util.py:445: Installing : python3-pyngus-2.3.0-8.el9s.noarch 29/121 DEBUG util.py:445: Installing : python3-zipp-3.6.0-1.el9s.noarch 30/121 DEBUG util.py:445: Installing : python3-importlib-metadata-6.8.0-1.el9s.noarch 31/121 DEBUG util.py:445: Installing : python3-yappi-1.3.6-1.el9s.x86_64 32/121 DEBUG util.py:445: Installing : python3-wcwidth-0.2.6-1.el9s.noarch 33/121 DEBUG util.py:445: Installing : python3-waitress-2.1.2-1.el9s.noarch 34/121 DEBUG util.py:445: Installing : python3-uhashring-2.3-3.el9s.noarch 35/121 DEBUG util.py:445: Installing : python3-tomlkit-0.12.3-3.el9s.noarch 36/121 DEBUG util.py:445: Installing : python3-statsd-3.2.1-20.el9s.noarch 37/121 DEBUG util.py:445: Installing : python3-soupsieve-2.5-1.el9s.noarch 38/121 DEBUG util.py:445: Installing : python3-beautifulsoup4-4.12.3-2.el9s.noarch 39/121 DEBUG util.py:445: Installing : python3-lxml-4.6.5-3.el9.x86_64 40/121 DEBUG util.py:445: Installing : python3-smi-lextudio-1.1.13-1.el9s.noarch 41/121 DEBUG util.py:445: Installing : python3-repoze-lru-0.7-10.el9s.noarch 42/121 DEBUG util.py:445: Installing : python3-routes-2.5.1-1.el9s.noarch 43/121 DEBUG util.py:445: Installing : python3-pyperclip-1.8.2-2.el9s.noarch 44/121 DEBUG util.py:445: Installing : python3-cmd2-2.4.2-1.el9s.noarch 45/121 DEBUG util.py:445: Installing : python3-pymemcache-4.0.0-1.el9s.noarch 46/121 DEBUG util.py:445: Installing : python3-prometheus_client-0.19.0-2.el9s.noarch 47/121 DEBUG util.py:445: Installing : python3-platformdirs-3.11.0-1.el9s.noarch 48/121 DEBUG util.py:445: Installing : python3-paste-deploy-3.1.0-2.el9s.noarch 49/121 DEBUG util.py:445: Installing : python3-more-itertools-10.1.0-1.el9s.noarch 50/121 DEBUG util.py:445: Installing : python3-memcached-1.59-3.el9s.noarch 51/121 DEBUG util.py:445: Installing : python3-logutils-0.3.5-15.el9s.noarch 52/121 DEBUG util.py:445: Installing : python3-kazoo-2.8.0-2.el9s.noarch 53/121 DEBUG util.py:445: Installing : python3-zake-0.2.2-22.el9s.noarch 54/121 DEBUG util.py:445: Installing : python3-jmespath-1.0.1-1.el9s.noarch 55/121 DEBUG util.py:445: Installing : python3-jaraco-8.2.1-4.el9s.noarch 56/121 DEBUG util.py:445: Installing : python3-jaraco-classes-3.2.1-5.el9s.noarch 57/121 DEBUG util.py:445: Installing : python3-keyring+completion-24.3.0-4.el9s.noarch 58/121 DEBUG util.py:445: Installing : python3-keyring-24.3.0-4.el9s.noarch 59/121 DEBUG util.py:445: Installing : python3-keystoneclient-1:5.4.0-0.20240305130254. 60/121 DEBUG util.py:445: Installing : python3-ifaddr-0.1.7-3.el9s.noarch 61/121 DEBUG util.py:445: Installing : python3-zeroconf-0.38.7-1.el9s.noarch 62/121 DEBUG util.py:445: Installing : python3-cachetools-5.3.2-2.el9s.noarch 63/121 DEBUG util.py:445: Installing : python3-autopage-0.5.2-3.el9s.noarch 64/121 DEBUG util.py:445: Installing : python3-cliff-4.6.0-0.20240226181305.b6119d5.el9 65/121 DEBUG util.py:445: Installing : python3-async-timeout-4.0.2-5.el9s.noarch 66/121 DEBUG util.py:445: Installing : python3-redis-5.0.1-1.el9s.noarch 67/121 DEBUG util.py:445: Installing : python3-tooz+redis-6.0.0-0.20240229141453.1d0ece 68/121 DEBUG util.py:445: Installing : python3-tooz+zake-6.0.0-0.20240229141453.1d0ece2 69/121 DEBUG util.py:445: Installing : python3-tooz-6.0.0-0.20240229141453.1d0ece2.el9. 70/121 DEBUG util.py:445: Installing : python3-pyrsistent-0.17.3-8.el9.x86_64 71/121 DEBUG util.py:445: Installing : python3-jsonschema-4.16.0-2.el9s.noarch 72/121 DEBUG util.py:445: Installing : python3-psutil-5.8.0-12.el9.x86_64 73/121 DEBUG util.py:445: Installing : python3-jsonpointer-2.0-4.el9.noarch 74/121 DEBUG util.py:445: Installing : python3-jsonpatch-1.21-16.el9.noarch 75/121 DEBUG util.py:445: Installing : python3-warlock-2.0.1-3.el9s.noarch 76/121 DEBUG util.py:445: Running scriptlet: memcached-1.6.9-7.el9.x86_64 77/121 DEBUG util.py:445: Installing : memcached-1.6.9-7.el9.x86_64 77/121 DEBUG util.py:445: Running scriptlet: memcached-1.6.9-7.el9.x86_64 77/121 DEBUG util.py:445: Installing : python3-binary-memcached-0.31.2-1.el9s.noarch 78/121 DEBUG util.py:445: Installing : python3-inotify-0.9.6-25.el9.noarch 79/121 DEBUG util.py:445: Installing : python3-requestsexceptions-1.4.0-0.2023062807534 80/121 DEBUG util.py:445: Installing : python-pycadf-common-3.1.1-0.20230706150346.4179 81/121 DEBUG util.py:445: Installing : python3-pycadf-3.1.1-0.20230706150346.4179996.el 82/121 DEBUG util.py:445: Installing : python-oslo-versionedobjects-lang-3.3.0-0.202402 83/121 DEBUG util.py:445: Installing : python-oslo-policy-lang-4.3.0-0.20240226200118.4 84/121 DEBUG util.py:445: Installing : python3-oslo-policy-4.3.0-0.20240226200118.4b7a6 85/121 DEBUG util.py:445: Installing : python-oslo-middleware-lang-6.1.0-0.202402262040 86/121 DEBUG util.py:445: Installing : python3-oslo-middleware-6.1.0-0.20240226204046.5 87/121 DEBUG util.py:445: Installing : python-oslo-log-lang-5.5.0-0.20240226183819.a892 88/121 DEBUG util.py:445: Installing : python3-oslo-log-5.5.0-0.20240226183819.a892465. 89/121 DEBUG util.py:445: Installing : python3-oslo-metrics-0.8.0-0.20240226185450.1ebb 90/121 DEBUG util.py:445: Installing : python-oslo-concurrency-lang-6.0.0-0.20240227074 91/121 DEBUG util.py:445: Installing : python3-oslo-concurrency-6.0.0-0.20240227074203. 92/121 DEBUG util.py:445: Installing : python3-oslo-service-3.4.0-0.20240226205622.f425 93/121 DEBUG util.py:445: Installing : python3-oslo-messaging+amqp1-14.6.0-0.2024011209 94/121 DEBUG util.py:445: Installing : python3-oslo-messaging-14.6.0-0.20240112093051.3 95/121 DEBUG util.py:445: Installing : python-oslo-cache-lang-3.7.0-0.20240227073749.e8 96/121 DEBUG util.py:445: Installing : python3-oslo-cache+dogpile-3.7.0-0.2024022707374 97/121 DEBUG util.py:445: Installing : python3-oslo-cache+etcd3gw-3.7.0-0.2024022707374 98/121 DEBUG util.py:445: Installing : python3-oslo-cache-3.7.0-0.20240227073749.e8de6c 99/121 DEBUG util.py:445: Installing : python3-keystonemiddleware-10.6.0-0.202402261932 100/121 DEBUG util.py:445: Installing : python3-oslo-versionedobjects-3.3.0-0.2024022618 101/121 DEBUG util.py:445: Installing : python3-osprofiler-4.1.0-0.20230714071424.3c5fea 102/121 DEBUG util.py:445: Installing : python3-ironic-lib-6.0.0-0.20240226203254.42fa5d 103/121 DEBUG util.py:445: Installing : python3-oslo-upgradecheck-2.3.0-0.20240226194554 104/121 DEBUG util.py:445: Installing : python3-openstacksdk-3.0.0-0.20240226205222.04cd 105/121 DEBUG util.py:445: Installing : python3-glanceclient-1:4.5.0-0.20240305131741.f6 106/121 DEBUG util.py:445: Installing : python3-oslo-reports-3.3.0-0.20240226202442.592d 107/121 DEBUG util.py:445: Installing : python3-stestr-4.1.0-1.el9s.noarch 108/121 DEBUG util.py:445: Installing : python3-pecan-1.4.2-2.el9s.noarch 109/121 DEBUG util.py:445: Installing : python3-pysnmp-lextudio-5.0.26-2.el9s.noarch 110/121 DEBUG util.py:445: Installing : python3-webtest-3.0.0-1.el9s.noarch 111/121 DEBUG util.py:445: Installing : python3-sushy-5.0.0-0.20240226191521.8929cce.el9 112/121 DEBUG util.py:445: Installing : python3-pyasn1-modules-0.5.1-3.el9s.noarch 113/121 DEBUG util.py:445: Installing : python3-cinderclient-9.5.0-0.20240305134428.e015 114/121 DEBUG util.py:445: Installing : python3-automaton-3.2.0-0.20230904140022.9255778 115/121 DEBUG util.py:445: Installing : python3-ddt-1.6.0-1.el9s.noarch 116/121 DEBUG util.py:445: Installing : python3-coverage-7.3.2-2.el9s.x86_64 117/121 DEBUG util.py:445: Installing : python3-construct-2.10.70-2.el9s.noarch 118/121 DEBUG util.py:445: Installing : python3-pycdlib-1.11.0-5.el9.noarch 119/121 DEBUG util.py:445: Installing : python3-oslo-rootwrap-7.2.0-0.20240226195306.c6c 120/121 DEBUG util.py:445: Installing : python3-os-traits-3.0.0-0.20230718121412.cff125c 121/121 DEBUG util.py:445: Running scriptlet: python3-os-traits-3.0.0-0.20230718121412.cff125c 121/121 DEBUG util.py:445: Verifying : python3-ironic-lib-6.0.0-0.20240226203254.42fa5d 1/121 DEBUG util.py:445: Verifying : python3-sushy-5.0.0-0.20240226191521.8929cce.el9 2/121 DEBUG util.py:445: Verifying : python3-cinderclient-9.5.0-0.20240305134428.e015 3/121 DEBUG util.py:445: Verifying : python3-glanceclient-1:4.5.0-0.20240305131741.f6 4/121 DEBUG util.py:445: Verifying : python3-keystoneclient-1:5.4.0-0.20240305130254. 5/121 DEBUG util.py:445: Verifying : python3-openstacksdk-3.0.0-0.20240226205222.04cd 6/121 DEBUG util.py:445: Verifying : python3-os-service-types-1.7.0-0.20230629121435. 7/121 DEBUG util.py:445: Verifying : python-oslo-cache-lang-3.7.0-0.20240227073749.e8 8/121 DEBUG util.py:445: Verifying : python-oslo-concurrency-lang-6.0.0-0.20240227074 9/121 DEBUG util.py:445: Verifying : python-oslo-log-lang-5.5.0-0.20240226183819.a892 10/121 DEBUG util.py:445: Verifying : python-oslo-middleware-lang-6.1.0-0.202402262040 11/121 DEBUG util.py:445: Verifying : python-oslo-policy-lang-4.3.0-0.20240226200118.4 12/121 DEBUG util.py:445: Verifying : python-oslo-versionedobjects-lang-3.3.0-0.202402 13/121 DEBUG util.py:445: Verifying : python-pycadf-common-3.1.1-0.20230706150346.4179 14/121 DEBUG util.py:445: Verifying : python3-automaton-3.2.0-0.20230904140022.9255778 15/121 DEBUG util.py:445: Verifying : python3-cliff-4.6.0-0.20240226181305.b6119d5.el9 16/121 DEBUG util.py:445: Verifying : python3-futurist-3.0.0-0.20240226181950.4e14db5. 17/121 DEBUG util.py:445: Verifying : python3-os-traits-3.0.0-0.20230718121412.cff125c 18/121 DEBUG util.py:445: Verifying : python3-oslo-cache+dogpile-3.7.0-0.2024022707374 19/121 DEBUG util.py:445: Verifying : python3-oslo-cache+etcd3gw-3.7.0-0.2024022707374 20/121 DEBUG util.py:445: Verifying : python3-oslo-cache-3.7.0-0.20240227073749.e8de6c 21/121 DEBUG util.py:445: Verifying : python3-oslo-concurrency-6.0.0-0.20240227074203. 22/121 DEBUG util.py:445: Verifying : python3-oslo-context-5.5.0-0.20240305133447.e31a 23/121 DEBUG util.py:445: Verifying : python3-oslo-log-5.5.0-0.20240226183819.a892465. 24/121 DEBUG util.py:445: Verifying : python3-oslo-messaging+amqp1-14.6.0-0.2024011209 25/121 DEBUG util.py:445: Verifying : python3-oslo-messaging-14.6.0-0.20240112093051.3 26/121 DEBUG util.py:445: Verifying : python3-oslo-metrics-0.8.0-0.20240226185450.1ebb 27/121 DEBUG util.py:445: Verifying : python3-oslo-middleware-6.1.0-0.20240226204046.5 28/121 DEBUG util.py:445: Verifying : python3-oslo-policy-4.3.0-0.20240226200118.4b7a6 29/121 DEBUG util.py:445: Verifying : python3-oslo-reports-3.3.0-0.20240226202442.592d 30/121 DEBUG util.py:445: Verifying : python3-oslo-rootwrap-7.2.0-0.20240226195306.c6c 31/121 DEBUG util.py:445: Verifying : python3-oslo-serialization-5.4.0-0.2024022914120 32/121 DEBUG util.py:445: Verifying : python3-oslo-service-3.4.0-0.20240226205622.f425 33/121 DEBUG util.py:445: Verifying : python3-oslo-upgradecheck-2.3.0-0.20240226194554 34/121 DEBUG util.py:445: Verifying : python3-oslo-versionedobjects-3.3.0-0.2024022618 35/121 DEBUG util.py:445: Verifying : python3-osprofiler-4.1.0-0.20230714071424.3c5fea 36/121 DEBUG util.py:445: Verifying : python3-pycadf-3.1.1-0.20230706150346.4179996.el 37/121 DEBUG util.py:445: Verifying : python3-requestsexceptions-1.4.0-0.2023062807534 38/121 DEBUG util.py:445: Verifying : python3-tooz+redis-6.0.0-0.20240229141453.1d0ece 39/121 DEBUG util.py:445: Verifying : python3-tooz+zake-6.0.0-0.20240229141453.1d0ece2 40/121 DEBUG util.py:445: Verifying : python3-tooz-6.0.0-0.20240229141453.1d0ece2.el9. 41/121 DEBUG util.py:445: Verifying : python3-keystoneauth1-5.6.0-0.20240226192318.e07 42/121 DEBUG util.py:445: Verifying : python3-keystonemiddleware-10.6.0-0.202402261932 43/121 DEBUG util.py:445: Verifying : python3-dateutil-1:2.8.1-7.el9.noarch 44/121 DEBUG util.py:445: Verifying : python3-inotify-0.9.6-25.el9.noarch 45/121 DEBUG util.py:445: Verifying : memcached-1.6.9-7.el9.x86_64 46/121 DEBUG util.py:445: Verifying : python3-attrs-20.3.0-7.el9.noarch 47/121 DEBUG util.py:445: Verifying : python3-jsonpatch-1.21-16.el9.noarch 48/121 DEBUG util.py:445: Verifying : python3-jsonpointer-2.0-4.el9.noarch 49/121 DEBUG util.py:445: Verifying : python3-lxml-4.6.5-3.el9.x86_64 50/121 DEBUG util.py:445: Verifying : python3-prettytable-0.7.2-27.el9.noarch 51/121 DEBUG util.py:445: Verifying : python3-psutil-5.8.0-12.el9.x86_64 52/121 DEBUG util.py:445: Verifying : python3-pycdlib-1.11.0-5.el9.noarch 53/121 DEBUG util.py:445: Verifying : python3-pyrsistent-0.17.3-8.el9.x86_64 54/121 DEBUG util.py:445: Verifying : python3-amqp-5.2.0-2.el9s.noarch 55/121 DEBUG util.py:445: Verifying : python3-async-timeout-4.0.2-5.el9s.noarch 56/121 DEBUG util.py:445: Verifying : python3-autopage-0.5.2-3.el9s.noarch 57/121 DEBUG util.py:445: Verifying : python3-bcrypt-3.2.2-4.el9s.x86_64 58/121 DEBUG util.py:445: Verifying : python3-beautifulsoup4-4.12.3-2.el9s.noarch 59/121 DEBUG util.py:445: Verifying : python3-binary-memcached-0.31.2-1.el9s.noarch 60/121 DEBUG util.py:445: Verifying : python3-cachetools-5.3.2-2.el9s.noarch 61/121 DEBUG util.py:445: Verifying : python3-cmd2-2.4.2-1.el9s.noarch 62/121 DEBUG util.py:445: Verifying : python3-construct-2.10.70-2.el9s.noarch 63/121 DEBUG util.py:445: Verifying : python3-coverage-7.3.2-2.el9s.x86_64 64/121 DEBUG util.py:445: Verifying : python3-ddt-1.6.0-1.el9s.noarch 65/121 DEBUG util.py:445: Verifying : python3-dogpile-cache-1.3.1-1.el9s.noarch 66/121 DEBUG util.py:445: Verifying : python3-etcd3gw-2.4.0-1.el9s.noarch 67/121 DEBUG util.py:445: Verifying : python3-fasteners-0.19-1.el9s.noarch 68/121 DEBUG util.py:445: Verifying : python3-ifaddr-0.1.7-3.el9s.noarch 69/121 DEBUG util.py:445: Verifying : python3-importlib-metadata-6.8.0-1.el9s.noarch 70/121 DEBUG util.py:445: Verifying : python3-jaraco-8.2.1-4.el9s.noarch 71/121 DEBUG util.py:445: Verifying : python3-jaraco-classes-3.2.1-5.el9s.noarch 72/121 DEBUG util.py:445: Verifying : python3-jeepney-0.8.0-3.el9s.noarch 73/121 DEBUG util.py:445: Verifying : python3-jmespath-1.0.1-1.el9s.noarch 74/121 DEBUG util.py:445: Verifying : python3-jsonschema-4.16.0-2.el9s.noarch 75/121 DEBUG util.py:445: Verifying : python3-jwt+crypto-2.6.0-2.el9s.noarch 76/121 DEBUG util.py:445: Verifying : python3-jwt-2.6.0-2.el9s.noarch 77/121 DEBUG util.py:445: Verifying : python3-kazoo-2.8.0-2.el9s.noarch 78/121 DEBUG util.py:445: Verifying : python3-keyring+completion-24.3.0-4.el9s.noarch 79/121 DEBUG util.py:445: Verifying : python3-keyring-24.3.0-4.el9s.noarch 80/121 DEBUG util.py:445: Verifying : python3-kombu-1:5.3.5-1.el9s.noarch 81/121 DEBUG util.py:445: Verifying : python3-logutils-0.3.5-15.el9s.noarch 82/121 DEBUG util.py:445: Verifying : python3-memcached-1.59-3.el9s.noarch 83/121 DEBUG util.py:445: Verifying : python3-more-itertools-10.1.0-1.el9s.noarch 84/121 DEBUG util.py:445: Verifying : python3-msgpack-1.0.7-1.el9s.x86_64 85/121 DEBUG util.py:445: Verifying : python3-paste-3.7.1-1.el9s.noarch 86/121 DEBUG util.py:445: Verifying : python3-paste-deploy-3.1.0-2.el9s.noarch 87/121 DEBUG util.py:445: Verifying : python3-pecan-1.4.2-2.el9s.noarch 88/121 DEBUG util.py:445: Verifying : python3-platformdirs-3.11.0-1.el9s.noarch 89/121 DEBUG util.py:445: Verifying : python3-prometheus_client-0.19.0-2.el9s.noarch 90/121 DEBUG util.py:445: Verifying : python3-pyOpenSSL-20.0.1-2.el9s.noarch 91/121 DEBUG util.py:445: Verifying : python3-pyasn1-0.5.1-3.el9s.noarch 92/121 DEBUG util.py:445: Verifying : python3-pyasn1-modules-0.5.1-3.el9s.noarch 93/121 DEBUG util.py:445: Verifying : python3-pymemcache-4.0.0-1.el9s.noarch 94/121 DEBUG util.py:445: Verifying : python3-pyngus-2.3.0-8.el9s.noarch 95/121 DEBUG util.py:445: Verifying : python3-pyperclip-1.8.2-2.el9s.noarch 96/121 DEBUG util.py:445: Verifying : python3-pysnmp-lextudio-5.0.26-2.el9s.noarch 97/121 DEBUG util.py:445: Verifying : python3-qpid-proton-0.35.0-2.el9s.x86_64 98/121 DEBUG util.py:445: Verifying : python3-redis-5.0.1-1.el9s.noarch 99/121 DEBUG util.py:445: Verifying : python3-repoze-lru-0.7-10.el9s.noarch 100/121 DEBUG util.py:445: Verifying : python3-routes-2.5.1-1.el9s.noarch 101/121 DEBUG util.py:445: Verifying : python3-secretstorage-3.3.1-1.el9s.noarch 102/121 DEBUG util.py:445: Verifying : python3-smi-lextudio-1.1.13-1.el9s.noarch 103/121 DEBUG util.py:445: Verifying : python3-soupsieve-2.5-1.el9s.noarch 104/121 DEBUG util.py:445: Verifying : python3-statsd-3.2.1-20.el9s.noarch 105/121 DEBUG util.py:445: Verifying : python3-stestr-4.1.0-1.el9s.noarch 106/121 DEBUG util.py:445: Verifying : python3-tenacity-8.2.3-1.el9s.noarch 107/121 DEBUG util.py:445: Verifying : python3-tomlkit-0.12.3-3.el9s.noarch 108/121 DEBUG util.py:445: Verifying : python3-uhashring-2.3-3.el9s.noarch 109/121 DEBUG util.py:445: Verifying : python3-vine-5.1.0-1.el9s.noarch 110/121 DEBUG util.py:445: Verifying : python3-voluptuous-0.14.2-1.el9s.noarch 111/121 DEBUG util.py:445: Verifying : python3-waitress-2.1.2-1.el9s.noarch 112/121 DEBUG util.py:445: Verifying : python3-warlock-2.0.1-3.el9s.noarch 113/121 DEBUG util.py:445: Verifying : python3-wcwidth-0.2.6-1.el9s.noarch 114/121 DEBUG util.py:445: Verifying : python3-webob-1.8.7-1.el9s.noarch 115/121 DEBUG util.py:445: Verifying : python3-webtest-3.0.0-1.el9s.noarch 116/121 DEBUG util.py:445: Verifying : python3-yappi-1.3.6-1.el9s.x86_64 117/121 DEBUG util.py:445: Verifying : python3-zake-0.2.2-22.el9s.noarch 118/121 DEBUG util.py:445: Verifying : python3-zeroconf-0.38.7-1.el9s.noarch 119/121 DEBUG util.py:445: Verifying : python3-zipp-3.6.0-1.el9s.noarch 120/121 DEBUG util.py:445: Verifying : qpid-proton-c-0.35.0-2.el9s.x86_64 121/121 DEBUG util.py:445: Installed: DEBUG util.py:445: memcached-1.6.9-7.el9.x86_64 DEBUG util.py:445: python-oslo-cache-lang-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python-oslo-concurrency-lang-6.0.0-0.20240227074203.53709ba.el9.noarch DEBUG util.py:445: python-oslo-log-lang-5.5.0-0.20240226183819.a892465.el9.noarch DEBUG util.py:445: python-oslo-middleware-lang-6.1.0-0.20240226204046.531f39e.el9.noarch DEBUG util.py:445: python-oslo-policy-lang-4.3.0-0.20240226200118.4b7a6f7.el9.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-3.3.0-0.20240226185900.25db0cf.el9.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20230706150346.4179996.el9.noarch DEBUG util.py:445: python3-amqp-5.2.0-2.el9s.noarch DEBUG util.py:445: python3-async-timeout-4.0.2-5.el9s.noarch DEBUG util.py:445: python3-attrs-20.3.0-7.el9.noarch DEBUG util.py:445: python3-automaton-3.2.0-0.20230904140022.9255778.el9.noarch DEBUG util.py:445: python3-autopage-0.5.2-3.el9s.noarch DEBUG util.py:445: python3-bcrypt-3.2.2-4.el9s.x86_64 DEBUG util.py:445: python3-beautifulsoup4-4.12.3-2.el9s.noarch DEBUG util.py:445: python3-binary-memcached-0.31.2-1.el9s.noarch DEBUG util.py:445: python3-cachetools-5.3.2-2.el9s.noarch DEBUG util.py:445: python3-cinderclient-9.5.0-0.20240305134428.e01516d.el9.noarch DEBUG util.py:445: python3-cliff-4.6.0-0.20240226181305.b6119d5.el9.noarch DEBUG util.py:445: python3-cmd2-2.4.2-1.el9s.noarch DEBUG util.py:445: python3-construct-2.10.70-2.el9s.noarch DEBUG util.py:445: python3-coverage-7.3.2-2.el9s.x86_64 DEBUG util.py:445: python3-dateutil-1:2.8.1-7.el9.noarch DEBUG util.py:445: python3-ddt-1.6.0-1.el9s.noarch DEBUG util.py:445: python3-dogpile-cache-1.3.1-1.el9s.noarch DEBUG util.py:445: python3-etcd3gw-2.4.0-1.el9s.noarch DEBUG util.py:445: python3-fasteners-0.19-1.el9s.noarch DEBUG util.py:445: python3-futurist-3.0.0-0.20240226181950.4e14db5.el9.noarch DEBUG util.py:445: python3-glanceclient-1:4.5.0-0.20240305131741.f683776.el9.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-3.el9s.noarch DEBUG util.py:445: python3-importlib-metadata-6.8.0-1.el9s.noarch DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch DEBUG util.py:445: python3-ironic-lib-6.0.0-0.20240226203254.42fa5d6.el9.noarch DEBUG util.py:445: python3-jaraco-8.2.1-4.el9s.noarch DEBUG util.py:445: python3-jaraco-classes-3.2.1-5.el9s.noarch DEBUG util.py:445: python3-jeepney-0.8.0-3.el9s.noarch DEBUG util.py:445: python3-jmespath-1.0.1-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-4.16.0-2.el9s.noarch DEBUG util.py:445: python3-jwt-2.6.0-2.el9s.noarch DEBUG util.py:445: python3-jwt+crypto-2.6.0-2.el9s.noarch DEBUG util.py:445: python3-kazoo-2.8.0-2.el9s.noarch DEBUG util.py:445: python3-keyring-24.3.0-4.el9s.noarch DEBUG util.py:445: python3-keyring+completion-24.3.0-4.el9s.noarch DEBUG util.py:445: python3-keystoneauth1-5.6.0-0.20240226192318.e071ad4.el9.noarch DEBUG util.py:445: python3-keystoneclient-1:5.4.0-0.20240305130254.c66d778.el9.noarch DEBUG util.py:445: python3-keystonemiddleware-10.6.0-0.20240226193224.b81c50f.el9.noarch DEBUG util.py:445: python3-kombu-1:5.3.5-1.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-memcached-1.59-3.el9s.noarch DEBUG util.py:445: python3-more-itertools-10.1.0-1.el9s.noarch DEBUG util.py:445: python3-msgpack-1.0.7-1.el9s.x86_64 DEBUG util.py:445: python3-openstacksdk-3.0.0-0.20240226205222.04cdd0a.el9.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20230629121435.0b2f473.el9.noarch DEBUG util.py:445: python3-os-traits-3.0.0-0.20230718121412.cff125c.el9.noarch DEBUG util.py:445: python3-oslo-cache-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache+dogpile-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache+etcd3gw-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-concurrency-6.0.0-0.20240227074203.53709ba.el9.noarch DEBUG util.py:445: python3-oslo-context-5.5.0-0.20240305133447.e31a7a1.el9.noarch DEBUG util.py:445: python3-oslo-log-5.5.0-0.20240226183819.a892465.el9.noarch DEBUG util.py:445: python3-oslo-messaging-14.6.0-0.20240112093051.3788846.el9.noarch DEBUG util.py:445: python3-oslo-messaging+amqp1-14.6.0-0.20240112093051.3788846.el9.noarch DEBUG util.py:445: python3-oslo-metrics-0.8.0-0.20240226185450.1ebb7f8.el9.noarch DEBUG util.py:445: python3-oslo-middleware-6.1.0-0.20240226204046.531f39e.el9.noarch DEBUG util.py:445: python3-oslo-policy-4.3.0-0.20240226200118.4b7a6f7.el9.noarch DEBUG util.py:445: python3-oslo-reports-3.3.0-0.20240226202442.592d8ac.el9.noarch DEBUG util.py:445: python3-oslo-rootwrap-7.2.0-0.20240226195306.c6cf187.el9.noarch DEBUG util.py:445: python3-oslo-serialization-5.4.0-0.20240229141206.548c7a3.el9.noarch DEBUG util.py:445: python3-oslo-service-3.4.0-0.20240226205622.f425dd1.el9.noarch DEBUG util.py:445: python3-oslo-upgradecheck-2.3.0-0.20240226194554.b6db590.el9.noarch DEBUG util.py:445: python3-oslo-versionedobjects-3.3.0-0.20240226185900.25db0cf.el9.noarch DEBUG util.py:445: python3-osprofiler-4.1.0-0.20230714071424.3c5fead.el9.noarch DEBUG util.py:445: python3-paste-3.7.1-1.el9s.noarch DEBUG util.py:445: python3-paste-deploy-3.1.0-2.el9s.noarch DEBUG util.py:445: python3-pecan-1.4.2-2.el9s.noarch DEBUG util.py:445: python3-platformdirs-3.11.0-1.el9s.noarch DEBUG util.py:445: python3-prettytable-0.7.2-27.el9.noarch DEBUG util.py:445: python3-prometheus_client-0.19.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.5.1-3.el9s.noarch DEBUG util.py:445: python3-pyasn1-modules-0.5.1-3.el9s.noarch DEBUG util.py:445: python3-pycadf-3.1.1-0.20230706150346.4179996.el9.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-5.el9.noarch DEBUG util.py:445: python3-pymemcache-4.0.0-1.el9s.noarch DEBUG util.py:445: python3-pyngus-2.3.0-8.el9s.noarch DEBUG util.py:445: python3-pyperclip-1.8.2-2.el9s.noarch DEBUG util.py:445: python3-pyrsistent-0.17.3-8.el9.x86_64 DEBUG util.py:445: python3-pysnmp-lextudio-5.0.26-2.el9s.noarch DEBUG util.py:445: python3-qpid-proton-0.35.0-2.el9s.x86_64 DEBUG util.py:445: python3-redis-5.0.1-1.el9s.noarch DEBUG util.py:445: python3-repoze-lru-0.7-10.el9s.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20230628075340.d7ac0ff.el9.noarch DEBUG util.py:445: python3-routes-2.5.1-1.el9s.noarch DEBUG util.py:445: python3-secretstorage-3.3.1-1.el9s.noarch DEBUG util.py:445: python3-smi-lextudio-1.1.13-1.el9s.noarch DEBUG util.py:445: python3-soupsieve-2.5-1.el9s.noarch DEBUG util.py:445: python3-statsd-3.2.1-20.el9s.noarch DEBUG util.py:445: python3-stestr-4.1.0-1.el9s.noarch DEBUG util.py:445: python3-sushy-5.0.0-0.20240226191521.8929cce.el9.noarch DEBUG util.py:445: python3-tenacity-8.2.3-1.el9s.noarch DEBUG util.py:445: python3-tomlkit-0.12.3-3.el9s.noarch DEBUG util.py:445: python3-tooz-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-tooz+redis-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-tooz+zake-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-uhashring-2.3-3.el9s.noarch DEBUG util.py:445: python3-vine-5.1.0-1.el9s.noarch DEBUG util.py:445: python3-voluptuous-0.14.2-1.el9s.noarch DEBUG util.py:445: python3-waitress-2.1.2-1.el9s.noarch DEBUG util.py:445: python3-warlock-2.0.1-3.el9s.noarch DEBUG util.py:445: python3-wcwidth-0.2.6-1.el9s.noarch DEBUG util.py:445: python3-webob-1.8.7-1.el9s.noarch DEBUG util.py:445: python3-webtest-3.0.0-1.el9s.noarch DEBUG util.py:445: python3-yappi-1.3.6-1.el9s.x86_64 DEBUG util.py:445: python3-zake-0.2.2-22.el9s.noarch DEBUG util.py:445: python3-zeroconf-0.38.7-1.el9s.noarch DEBUG util.py:445: python3-zipp-3.6.0-1.el9s.noarch DEBUG util.py:445: qpid-proton-c-0.35.0-2.el9s.x86_64 DEBUG util.py:445: 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-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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: python3-testtools-2.7.1-1.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch DEBUG util.py:445: python3-wrapt-1.16.0-1.el9s.x86_64 DEBUG util.py:445: python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-41.el9.x86_64 DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: libpq-13.11-1.el9.x86_64 DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: gmp-c++-6.2.0-13.el9.x86_64 DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 DEBUG util.py:445: libxml2-devel-2.9.13-5.el9.x86_64 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-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-config-9.4.0-0.20240315155821.882adf8.el9.noarch DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 DEBUG util.py:445: gmp-devel-6.2.0-13.el9.x86_64 DEBUG util.py:445: pyproject-rpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: openssl-devel-3.0.7-27.el9.x86_64 DEBUG util.py:445: python3-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: libtirpc-1.3.3-6.el9.x86_64 DEBUG util.py:445: libnsl2-2.0.0-1.el9.x86_64 DEBUG util.py:445: python3-filelock-3.13.1-1.el9s.noarch DEBUG util.py:445: mpdecimal-2.5.1-3.el9.x86_64 DEBUG util.py:445: python3-distlib-0.3.7-1.el9s.noarch DEBUG util.py:445: python3-wheel-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: python3.12-pip-wheel-23.2.1-4.el9.noarch DEBUG util.py:445: python3.12-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-libs-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-devel-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.11-setuptools-wheel-65.5.1-2.el9.noarch DEBUG util.py:445: python3.11-pip-wheel-22.3.1-5.el9.noarch DEBUG util.py:445: python3.11-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-libs-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-devel-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3-toml-0.10.2-6.el9.noarch DEBUG util.py:445: python3-py-1.10.0-6.el9.noarch DEBUG util.py:445: python3-pluggy-0.13.1-7.el9.noarch DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-virtualenv-20.4.4-1.el9s.noarch DEBUG util.py:445: tox-3.23.0-2.el9s.noarch DEBUG util.py:445: python3-tox-current-env-0.0.8-1.el9s.noarch DEBUG util.py:445: python3-webob-1.8.7-1.el9s.noarch DEBUG util.py:445: python3-prettytable-0.7.2-27.el9.noarch DEBUG util.py:445: python3-oslo-context-5.5.0-0.20240305133447.e31a7a1.el9.noarch DEBUG util.py:445: python3-jeepney-0.8.0-3.el9s.noarch DEBUG util.py:445: python3-futurist-3.0.0-0.20240226181950.4e14db5.el9.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20230629121435.0b2f473.el9.noarch DEBUG util.py:445: python3-keystoneauth1-5.6.0-0.20240226192318.e071ad4.el9.noarch DEBUG util.py:445: python3-secretstorage-3.3.1-1.el9s.noarch DEBUG util.py:445: python3-voluptuous-0.14.2-1.el9s.noarch DEBUG util.py:445: python3-vine-5.1.0-1.el9s.noarch DEBUG util.py:445: python3-amqp-5.2.0-2.el9s.noarch DEBUG util.py:445: python3-tenacity-8.2.3-1.el9s.noarch DEBUG util.py:445: python3-pyasn1-0.5.1-3.el9s.noarch DEBUG util.py:445: python3-pyOpenSSL-20.0.1-2.el9s.noarch DEBUG util.py:445: python3-msgpack-1.0.7-1.el9s.x86_64 DEBUG util.py:445: python3-oslo-serialization-5.4.0-0.20240229141206.548c7a3.el9.noarch DEBUG util.py:445: python3-fasteners-0.19-1.el9s.noarch DEBUG util.py:445: python3-dogpile-cache-1.3.1-1.el9s.noarch DEBUG util.py:445: python3-bcrypt-3.2.2-4.el9s.x86_64 DEBUG util.py:445: python3-attrs-20.3.0-7.el9.noarch DEBUG util.py:445: python3-dateutil-2.8.1-7.el9.noarch DEBUG util.py:445: python3-paste-3.7.1-1.el9s.noarch DEBUG util.py:445: python3-kombu-5.3.5-1.el9s.noarch DEBUG util.py:445: python3-etcd3gw-2.4.0-1.el9s.noarch DEBUG util.py:445: python3-jwt-2.6.0-2.el9s.noarch DEBUG util.py:445: python3-jwt+crypto-2.6.0-2.el9s.noarch DEBUG util.py:445: qpid-proton-c-0.35.0-2.el9s.x86_64 DEBUG util.py:445: python3-qpid-proton-0.35.0-2.el9s.x86_64 DEBUG util.py:445: python3-pyngus-2.3.0-8.el9s.noarch DEBUG util.py:445: python3-zipp-3.6.0-1.el9s.noarch DEBUG util.py:445: python3-importlib-metadata-6.8.0-1.el9s.noarch DEBUG util.py:445: python3-yappi-1.3.6-1.el9s.x86_64 DEBUG util.py:445: python3-wcwidth-0.2.6-1.el9s.noarch DEBUG util.py:445: python3-waitress-2.1.2-1.el9s.noarch DEBUG util.py:445: python3-uhashring-2.3-3.el9s.noarch DEBUG util.py:445: python3-tomlkit-0.12.3-3.el9s.noarch DEBUG util.py:445: python3-statsd-3.2.1-20.el9s.noarch DEBUG util.py:445: python3-soupsieve-2.5-1.el9s.noarch DEBUG util.py:445: python3-beautifulsoup4-4.12.3-2.el9s.noarch DEBUG util.py:445: python3-lxml-4.6.5-3.el9.x86_64 DEBUG util.py:445: python3-smi-lextudio-1.1.13-1.el9s.noarch DEBUG util.py:445: python3-repoze-lru-0.7-10.el9s.noarch DEBUG util.py:445: python3-routes-2.5.1-1.el9s.noarch DEBUG util.py:445: python3-pyperclip-1.8.2-2.el9s.noarch DEBUG util.py:445: python3-cmd2-2.4.2-1.el9s.noarch DEBUG util.py:445: python3-pymemcache-4.0.0-1.el9s.noarch DEBUG util.py:445: python3-prometheus_client-0.19.0-2.el9s.noarch DEBUG util.py:445: python3-platformdirs-3.11.0-1.el9s.noarch DEBUG util.py:445: python3-paste-deploy-3.1.0-2.el9s.noarch DEBUG util.py:445: python3-more-itertools-10.1.0-1.el9s.noarch DEBUG util.py:445: python3-memcached-1.59-3.el9s.noarch DEBUG util.py:445: python3-logutils-0.3.5-15.el9s.noarch DEBUG util.py:445: python3-kazoo-2.8.0-2.el9s.noarch DEBUG util.py:445: python3-zake-0.2.2-22.el9s.noarch DEBUG util.py:445: python3-jmespath-1.0.1-1.el9s.noarch DEBUG util.py:445: python3-jaraco-8.2.1-4.el9s.noarch DEBUG util.py:445: python3-jaraco-classes-3.2.1-5.el9s.noarch DEBUG util.py:445: python3-keyring+completion-24.3.0-4.el9s.noarch DEBUG util.py:445: python3-keyring-24.3.0-4.el9s.noarch DEBUG util.py:445: python3-keystoneclient-5.4.0-0.20240305130254.c66d778.el9.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-3.el9s.noarch DEBUG util.py:445: python3-zeroconf-0.38.7-1.el9s.noarch DEBUG util.py:445: python3-cachetools-5.3.2-2.el9s.noarch DEBUG util.py:445: python3-autopage-0.5.2-3.el9s.noarch DEBUG util.py:445: python3-cliff-4.6.0-0.20240226181305.b6119d5.el9.noarch DEBUG util.py:445: python3-async-timeout-4.0.2-5.el9s.noarch DEBUG util.py:445: python3-redis-5.0.1-1.el9s.noarch DEBUG util.py:445: python3-tooz+redis-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-tooz+zake-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-tooz-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-pyrsistent-0.17.3-8.el9.x86_64 DEBUG util.py:445: python3-jsonschema-4.16.0-2.el9s.noarch DEBUG util.py:445: python3-psutil-5.8.0-12.el9.x86_64 DEBUG util.py:445: python3-jsonpointer-2.0-4.el9.noarch DEBUG util.py:445: python3-jsonpatch-1.21-16.el9.noarch DEBUG util.py:445: python3-warlock-2.0.1-3.el9s.noarch DEBUG util.py:445: memcached-1.6.9-7.el9.x86_64 DEBUG util.py:445: python3-binary-memcached-0.31.2-1.el9s.noarch DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20230628075340.d7ac0ff.el9.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20230706150346.4179996.el9.noarch DEBUG util.py:445: python3-pycadf-3.1.1-0.20230706150346.4179996.el9.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-3.3.0-0.20240226185900.25db0cf.el9.noarch DEBUG util.py:445: python-oslo-policy-lang-4.3.0-0.20240226200118.4b7a6f7.el9.noarch DEBUG util.py:445: python3-oslo-policy-4.3.0-0.20240226200118.4b7a6f7.el9.noarch DEBUG util.py:445: python-oslo-middleware-lang-6.1.0-0.20240226204046.531f39e.el9.noarch DEBUG util.py:445: python3-oslo-middleware-6.1.0-0.20240226204046.531f39e.el9.noarch DEBUG util.py:445: python-oslo-log-lang-5.5.0-0.20240226183819.a892465.el9.noarch DEBUG util.py:445: python3-oslo-log-5.5.0-0.20240226183819.a892465.el9.noarch DEBUG util.py:445: python3-oslo-metrics-0.8.0-0.20240226185450.1ebb7f8.el9.noarch DEBUG util.py:445: python-oslo-concurrency-lang-6.0.0-0.20240227074203.53709ba.el9.noarch DEBUG util.py:445: python3-oslo-concurrency-6.0.0-0.20240227074203.53709ba.el9.noarch DEBUG util.py:445: python3-oslo-service-3.4.0-0.20240226205622.f425dd1.el9.noarch DEBUG util.py:445: python3-oslo-messaging+amqp1-14.6.0-0.20240112093051.3788846.el9.noarch DEBUG util.py:445: python3-oslo-messaging-14.6.0-0.20240112093051.3788846.el9.noarch DEBUG util.py:445: python-oslo-cache-lang-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache+dogpile-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache+etcd3gw-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-keystonemiddleware-10.6.0-0.20240226193224.b81c50f.el9.noarch DEBUG util.py:445: python3-oslo-versionedobjects-3.3.0-0.20240226185900.25db0cf.el9.noarch DEBUG util.py:445: python3-osprofiler-4.1.0-0.20230714071424.3c5fead.el9.noarch DEBUG util.py:445: python3-ironic-lib-6.0.0-0.20240226203254.42fa5d6.el9.noarch DEBUG util.py:445: python3-oslo-upgradecheck-2.3.0-0.20240226194554.b6db590.el9.noarch DEBUG util.py:445: python3-openstacksdk-3.0.0-0.20240226205222.04cdd0a.el9.noarch DEBUG util.py:445: python3-glanceclient-4.5.0-0.20240305131741.f683776.el9.noarch DEBUG util.py:445: python3-oslo-reports-3.3.0-0.20240226202442.592d8ac.el9.noarch DEBUG util.py:445: python3-stestr-4.1.0-1.el9s.noarch DEBUG util.py:445: python3-pecan-1.4.2-2.el9s.noarch DEBUG util.py:445: python3-pysnmp-lextudio-5.0.26-2.el9s.noarch DEBUG util.py:445: python3-webtest-3.0.0-1.el9s.noarch DEBUG util.py:445: python3-sushy-5.0.0-0.20240226191521.8929cce.el9.noarch DEBUG util.py:445: python3-pyasn1-modules-0.5.1-3.el9s.noarch DEBUG util.py:445: python3-cinderclient-9.5.0-0.20240305134428.e01516d.el9.noarch DEBUG util.py:445: python3-automaton-3.2.0-0.20230904140022.9255778.el9.noarch DEBUG util.py:445: python3-ddt-1.6.0-1.el9s.noarch DEBUG util.py:445: python3-coverage-7.3.2-2.el9s.x86_64 DEBUG util.py:445: python3-construct-2.10.70-2.el9s.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-5.el9.noarch DEBUG util.py:445: python3-oslo-rootwrap-7.2.0-0.20240226195306.c6cf187.el9.noarch DEBUG util.py:445: python3-os-traits-3.0.0-0.20230718121412.cff125c.el9.noarch DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos9-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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: python3-testtools-2.7.1-1.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch DEBUG util.py:445: python3-wrapt-1.16.0-1.el9s.x86_64 DEBUG util.py:445: python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-41.el9.x86_64 DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: libpq-13.11-1.el9.x86_64 DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: gmp-c++-6.2.0-13.el9.x86_64 DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 DEBUG util.py:445: libxml2-devel-2.9.13-5.el9.x86_64 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-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-config-9.4.0-0.20240315155821.882adf8.el9.noarch DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 DEBUG util.py:445: gmp-devel-6.2.0-13.el9.x86_64 DEBUG util.py:445: pyproject-rpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: openssl-devel-3.0.7-27.el9.x86_64 DEBUG util.py:445: python3-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: libtirpc-1.3.3-6.el9.x86_64 DEBUG util.py:445: libnsl2-2.0.0-1.el9.x86_64 DEBUG util.py:445: python3-filelock-3.13.1-1.el9s.noarch DEBUG util.py:445: mpdecimal-2.5.1-3.el9.x86_64 DEBUG util.py:445: python3-distlib-0.3.7-1.el9s.noarch DEBUG util.py:445: python3-wheel-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: python3.12-pip-wheel-23.2.1-4.el9.noarch DEBUG util.py:445: python3.12-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-libs-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-devel-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.11-setuptools-wheel-65.5.1-2.el9.noarch DEBUG util.py:445: python3.11-pip-wheel-22.3.1-5.el9.noarch DEBUG util.py:445: python3.11-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-libs-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-devel-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3-toml-0.10.2-6.el9.noarch DEBUG util.py:445: python3-py-1.10.0-6.el9.noarch DEBUG util.py:445: python3-pluggy-0.13.1-7.el9.noarch DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-virtualenv-20.4.4-1.el9s.noarch DEBUG util.py:445: tox-3.23.0-2.el9s.noarch DEBUG util.py:445: python3-tox-current-env-0.0.8-1.el9s.noarch DEBUG util.py:445: python3-webob-1.8.7-1.el9s.noarch DEBUG util.py:445: python3-prettytable-0.7.2-27.el9.noarch DEBUG util.py:445: python3-oslo-context-5.5.0-0.20240305133447.e31a7a1.el9.noarch DEBUG util.py:445: python3-jeepney-0.8.0-3.el9s.noarch DEBUG util.py:445: python3-futurist-3.0.0-0.20240226181950.4e14db5.el9.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20230629121435.0b2f473.el9.noarch DEBUG util.py:445: python3-keystoneauth1-5.6.0-0.20240226192318.e071ad4.el9.noarch DEBUG util.py:445: python3-secretstorage-3.3.1-1.el9s.noarch DEBUG util.py:445: python3-voluptuous-0.14.2-1.el9s.noarch DEBUG util.py:445: python3-vine-5.1.0-1.el9s.noarch DEBUG util.py:445: python3-amqp-5.2.0-2.el9s.noarch DEBUG util.py:445: python3-tenacity-8.2.3-1.el9s.noarch DEBUG util.py:445: python3-pyasn1-0.5.1-3.el9s.noarch DEBUG util.py:445: python3-pyOpenSSL-20.0.1-2.el9s.noarch DEBUG util.py:445: python3-msgpack-1.0.7-1.el9s.x86_64 DEBUG util.py:445: python3-oslo-serialization-5.4.0-0.20240229141206.548c7a3.el9.noarch DEBUG util.py:445: python3-fasteners-0.19-1.el9s.noarch DEBUG util.py:445: python3-dogpile-cache-1.3.1-1.el9s.noarch DEBUG util.py:445: python3-bcrypt-3.2.2-4.el9s.x86_64 DEBUG util.py:445: python3-attrs-20.3.0-7.el9.noarch DEBUG util.py:445: python3-dateutil-2.8.1-7.el9.noarch DEBUG util.py:445: python3-paste-3.7.1-1.el9s.noarch DEBUG util.py:445: python3-kombu-5.3.5-1.el9s.noarch DEBUG util.py:445: python3-etcd3gw-2.4.0-1.el9s.noarch DEBUG util.py:445: python3-jwt-2.6.0-2.el9s.noarch DEBUG util.py:445: python3-jwt+crypto-2.6.0-2.el9s.noarch DEBUG util.py:445: qpid-proton-c-0.35.0-2.el9s.x86_64 DEBUG util.py:445: python3-qpid-proton-0.35.0-2.el9s.x86_64 DEBUG util.py:445: python3-pyngus-2.3.0-8.el9s.noarch DEBUG util.py:445: python3-zipp-3.6.0-1.el9s.noarch DEBUG util.py:445: python3-importlib-metadata-6.8.0-1.el9s.noarch DEBUG util.py:445: python3-yappi-1.3.6-1.el9s.x86_64 DEBUG util.py:445: python3-wcwidth-0.2.6-1.el9s.noarch DEBUG util.py:445: python3-waitress-2.1.2-1.el9s.noarch DEBUG util.py:445: python3-uhashring-2.3-3.el9s.noarch DEBUG util.py:445: python3-tomlkit-0.12.3-3.el9s.noarch DEBUG util.py:445: python3-statsd-3.2.1-20.el9s.noarch DEBUG util.py:445: python3-soupsieve-2.5-1.el9s.noarch DEBUG util.py:445: python3-beautifulsoup4-4.12.3-2.el9s.noarch DEBUG util.py:445: python3-lxml-4.6.5-3.el9.x86_64 DEBUG util.py:445: python3-smi-lextudio-1.1.13-1.el9s.noarch DEBUG util.py:445: python3-repoze-lru-0.7-10.el9s.noarch DEBUG util.py:445: python3-routes-2.5.1-1.el9s.noarch DEBUG util.py:445: python3-pyperclip-1.8.2-2.el9s.noarch DEBUG util.py:445: python3-cmd2-2.4.2-1.el9s.noarch DEBUG util.py:445: python3-pymemcache-4.0.0-1.el9s.noarch DEBUG util.py:445: python3-prometheus_client-0.19.0-2.el9s.noarch DEBUG util.py:445: python3-platformdirs-3.11.0-1.el9s.noarch DEBUG util.py:445: python3-paste-deploy-3.1.0-2.el9s.noarch DEBUG util.py:445: python3-more-itertools-10.1.0-1.el9s.noarch DEBUG util.py:445: python3-memcached-1.59-3.el9s.noarch DEBUG util.py:445: python3-logutils-0.3.5-15.el9s.noarch DEBUG util.py:445: python3-kazoo-2.8.0-2.el9s.noarch DEBUG util.py:445: python3-zake-0.2.2-22.el9s.noarch DEBUG util.py:445: python3-jmespath-1.0.1-1.el9s.noarch DEBUG util.py:445: python3-jaraco-8.2.1-4.el9s.noarch DEBUG util.py:445: python3-jaraco-classes-3.2.1-5.el9s.noarch DEBUG util.py:445: python3-keyring+completion-24.3.0-4.el9s.noarch DEBUG util.py:445: python3-keyring-24.3.0-4.el9s.noarch DEBUG util.py:445: python3-keystoneclient-5.4.0-0.20240305130254.c66d778.el9.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-3.el9s.noarch DEBUG util.py:445: python3-zeroconf-0.38.7-1.el9s.noarch DEBUG util.py:445: python3-cachetools-5.3.2-2.el9s.noarch DEBUG util.py:445: python3-autopage-0.5.2-3.el9s.noarch DEBUG util.py:445: python3-cliff-4.6.0-0.20240226181305.b6119d5.el9.noarch DEBUG util.py:445: python3-async-timeout-4.0.2-5.el9s.noarch DEBUG util.py:445: python3-redis-5.0.1-1.el9s.noarch DEBUG util.py:445: python3-tooz+redis-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-tooz+zake-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-tooz-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-pyrsistent-0.17.3-8.el9.x86_64 DEBUG util.py:445: python3-jsonschema-4.16.0-2.el9s.noarch DEBUG util.py:445: python3-psutil-5.8.0-12.el9.x86_64 DEBUG util.py:445: python3-jsonpointer-2.0-4.el9.noarch DEBUG util.py:445: python3-jsonpatch-1.21-16.el9.noarch DEBUG util.py:445: python3-warlock-2.0.1-3.el9s.noarch DEBUG util.py:445: memcached-1.6.9-7.el9.x86_64 DEBUG util.py:445: python3-binary-memcached-0.31.2-1.el9s.noarch DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20230628075340.d7ac0ff.el9.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20230706150346.4179996.el9.noarch DEBUG util.py:445: python3-pycadf-3.1.1-0.20230706150346.4179996.el9.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-3.3.0-0.20240226185900.25db0cf.el9.noarch DEBUG util.py:445: python-oslo-policy-lang-4.3.0-0.20240226200118.4b7a6f7.el9.noarch DEBUG util.py:445: python3-oslo-policy-4.3.0-0.20240226200118.4b7a6f7.el9.noarch DEBUG util.py:445: python-oslo-middleware-lang-6.1.0-0.20240226204046.531f39e.el9.noarch DEBUG util.py:445: python3-oslo-middleware-6.1.0-0.20240226204046.531f39e.el9.noarch DEBUG util.py:445: python-oslo-log-lang-5.5.0-0.20240226183819.a892465.el9.noarch DEBUG util.py:445: python3-oslo-log-5.5.0-0.20240226183819.a892465.el9.noarch DEBUG util.py:445: python3-oslo-metrics-0.8.0-0.20240226185450.1ebb7f8.el9.noarch DEBUG util.py:445: python-oslo-concurrency-lang-6.0.0-0.20240227074203.53709ba.el9.noarch DEBUG util.py:445: python3-oslo-concurrency-6.0.0-0.20240227074203.53709ba.el9.noarch DEBUG util.py:445: python3-oslo-service-3.4.0-0.20240226205622.f425dd1.el9.noarch DEBUG util.py:445: python3-oslo-messaging+amqp1-14.6.0-0.20240112093051.3788846.el9.noarch DEBUG util.py:445: python3-oslo-messaging-14.6.0-0.20240112093051.3788846.el9.noarch DEBUG util.py:445: python-oslo-cache-lang-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache+dogpile-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache+etcd3gw-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-keystonemiddleware-10.6.0-0.20240226193224.b81c50f.el9.noarch DEBUG util.py:445: python3-oslo-versionedobjects-3.3.0-0.20240226185900.25db0cf.el9.noarch DEBUG util.py:445: python3-osprofiler-4.1.0-0.20230714071424.3c5fead.el9.noarch DEBUG util.py:445: python3-ironic-lib-6.0.0-0.20240226203254.42fa5d6.el9.noarch DEBUG util.py:445: python3-oslo-upgradecheck-2.3.0-0.20240226194554.b6db590.el9.noarch DEBUG util.py:445: python3-openstacksdk-3.0.0-0.20240226205222.04cdd0a.el9.noarch DEBUG util.py:445: python3-glanceclient-4.5.0-0.20240305131741.f683776.el9.noarch DEBUG util.py:445: python3-oslo-reports-3.3.0-0.20240226202442.592d8ac.el9.noarch DEBUG util.py:445: python3-stestr-4.1.0-1.el9s.noarch DEBUG util.py:445: python3-pecan-1.4.2-2.el9s.noarch DEBUG util.py:445: python3-pysnmp-lextudio-5.0.26-2.el9s.noarch DEBUG util.py:445: python3-webtest-3.0.0-1.el9s.noarch DEBUG util.py:445: python3-sushy-5.0.0-0.20240226191521.8929cce.el9.noarch DEBUG util.py:445: python3-pyasn1-modules-0.5.1-3.el9s.noarch DEBUG util.py:445: python3-cinderclient-9.5.0-0.20240305134428.e01516d.el9.noarch DEBUG util.py:445: python3-automaton-3.2.0-0.20230904140022.9255778.el9.noarch DEBUG util.py:445: python3-ddt-1.6.0-1.el9s.noarch DEBUG util.py:445: python3-coverage-7.3.2-2.el9s.x86_64 DEBUG util.py:445: python3-construct-2.10.70-2.el9s.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-5.el9.noarch DEBUG util.py:445: python3-oslo-rootwrap-7.2.0-0.20240226195306.c6cf187.el9.noarch DEBUG util.py:445: python3-os-traits-3.0.0-0.20230718121412.cff125c.el9.noarch DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-caracal-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=1038gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\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.J5vRmo 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-24.0.1.dev106 DEBUG util.py:445: + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-24.0.1.dev106-0.20240319001819.99b1f9c.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-24.0.1.dev106 DEBUG util.py:445: + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . DEBUG util.py:445: + /usr/bin/git init -q DEBUG util.py:445: + /usr/bin/git config user.name rpm-build DEBUG util.py:445: + /usr/bin/git config user.email '' DEBUG util.py:445: + /usr/bin/git config gc.auto 0 DEBUG util.py:445: + /usr/bin/git add --force . DEBUG util.py:445: + /usr/bin/git commit -q --allow-empty -a --author 'rpm-build ' -m 'openstack-ironic-24.0.1 base' DEBUG util.py:445: + sed -i /tempest/d setup.cfg DEBUG util.py:445: + rm -rf ironic_tempest_plugin DEBUG util.py:445: + sed -i '/^[[:space:]]*-c{env:.*_CONSTRAINTS_FILE.*/d' tox.ini DEBUG util.py:445: + sed -i 's/^deps = -c{env:.*_CONSTRAINTS_FILE.*/deps =/' tox.ini DEBUG util.py:445: + sed -i '/^minversion.*/d' tox.ini DEBUG util.py:445: + sed -i '/^requires.*virtualenv.*/d' tox.ini DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^doc8.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^doc8.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^bandit.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^bandit.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^pre-commit.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^pre-commit.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^hacking.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^hacking.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^flake8-import-order.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^flake8-import-order.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^sphinx.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^sphinx.*/d' test-requirements.txt DEBUG util.py:445: + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f doc/requirements.txt ']' DEBUG util.py:445: + sed -i '/^openstackdocstheme.*/d' doc/requirements.txt DEBUG util.py:445: + for reqfile in doc/requirements.txt test-requirements.txt DEBUG util.py:445: + '[' -f test-requirements.txt ']' DEBUG util.py:445: + sed -i '/^openstackdocstheme.*/d' test-requirements.txt DEBUG util.py:445: + sed -i 's/netaddr.*/netaddr/g' requirements.txt DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.wBLm80 DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + echo pyproject-rpm-macros DEBUG util.py:445: + echo python3-devel DEBUG util.py:445: + echo 'python3dist(pip) >= 19' DEBUG util.py:445: + echo 'python3dist(packaging)' DEBUG util.py:445: + '[' -f pyproject.toml ']' DEBUG util.py:445: + '[' -f setup.py ']' DEBUG util.py:445: + echo 'python3dist(setuptools) >= 40.8' DEBUG util.py:445: + echo 'python3dist(wheel)' DEBUG util.py:445: + rm -rfv '*.dist-info/' DEBUG util.py:445: + '[' -f /usr/bin/python3 ']' DEBUG util.py:445: + mkdir -p /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + echo -n 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: + TMPDIR=/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + RPM_TOXENV=py39 DEBUG util.py:445: + HOSTNAME=rpmbuild DEBUG util.py:445: + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-24.0.1.dev106/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires -t -e py39 DEBUG util.py:443: Handling setuptools >= 40.8 from default build backend DEBUG util.py:443: Requirement satisfied: setuptools >= 40.8 DEBUG util.py:443: (installed: setuptools 65.5.1) DEBUG util.py:443: Handling wheel from default build backend DEBUG util.py:443: Requirement satisfied: wheel DEBUG util.py:443: (installed: wheel 0.36.2) DEBUG util.py:443: Handling wheel from get_requires_for_build_wheel DEBUG util.py:443: Requirement satisfied: wheel DEBUG util.py:443: (installed: wheel 0.36.2) DEBUG util.py:443: Handling pbr>=2.0.0 from get_requires_for_build_wheel DEBUG util.py:443: Requirement satisfied: pbr>=2.0.0 DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling tox-current-env >= 0.0.6 from tox itself DEBUG util.py:443: Requirement satisfied: tox-current-env >= 0.0.6 DEBUG util.py:443: (installed: tox-current-env 0.0.8) DEBUG util.py:443: ___________________________________ summary ____________________________________ DEBUG util.py:443: py39: commands succeeded DEBUG util.py:443: congratulations :) DEBUG util.py:443: Handling pbr>=3.1.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pbr>=3.1.1 DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling SQLAlchemy>=1.4.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: SQLAlchemy>=1.4.0 DEBUG util.py:443: (installed: SQLAlchemy 1.4.51) DEBUG util.py:443: Handling alembic>=1.4.2 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: alembic>=1.4.2 DEBUG util.py:443: (installed: alembic 1.8.1) DEBUG util.py:443: Handling automaton>=1.9.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: automaton>=1.9.0 DEBUG util.py:443: (installed: automaton 3.2.0) DEBUG util.py:443: Handling eventlet>=0.30.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: eventlet>=0.30.1 DEBUG util.py:443: (installed: eventlet 0.33.3) DEBUG util.py:443: Handling WebOb>=1.7.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: WebOb>=1.7.1 DEBUG util.py:443: (installed: WebOb 1.8.7) DEBUG util.py:443: Handling python-cinderclient!=4.0.0,>=3.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: python-cinderclient!=4.0.0,>=3.3.0 DEBUG util.py:443: (installed: python-cinderclient 9.5.0) DEBUG util.py:443: Handling python-glanceclient>=2.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: python-glanceclient>=2.8.0 DEBUG util.py:443: (installed: python-glanceclient 4.5.0) DEBUG util.py:443: Handling keystoneauth1>=4.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: keystoneauth1>=4.2.0 DEBUG util.py:443: (installed: keystoneauth1 5.6.0) DEBUG util.py:443: Handling ironic-lib>=6.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: ironic-lib>=6.0.0 DEBUG util.py:443: (installed: ironic-lib 6.0.0) DEBUG util.py:443: Handling stevedore>=1.29.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: stevedore>=1.29.0 DEBUG util.py:443: (installed: stevedore 5.2.0) DEBUG util.py:443: Handling oslo.concurrency>=4.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.concurrency>=4.2.0 DEBUG util.py:443: (installed: oslo.concurrency 6.0.0) DEBUG util.py:443: Handling oslo.config>=6.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.config>=6.8.0 DEBUG util.py:443: (installed: oslo.config 9.4.0) DEBUG util.py:443: Handling oslo.context>=2.22.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.context>=2.22.0 DEBUG util.py:443: (installed: oslo.context 5.5.0) DEBUG util.py:443: Handling oslo.db>=9.1.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.db>=9.1.0 DEBUG util.py:443: (installed: oslo.db 15.0.0) DEBUG util.py:443: Handling oslo.rootwrap>=5.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.rootwrap>=5.8.0 DEBUG util.py:443: (installed: oslo.rootwrap 7.2.0) DEBUG util.py:443: Handling oslo.log>=4.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.log>=4.3.0 DEBUG util.py:443: (installed: oslo.log 5.5.0) DEBUG util.py:443: Handling oslo.middleware>=3.31.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.middleware>=3.31.0 DEBUG util.py:443: (installed: oslo.middleware 6.1.0) DEBUG util.py:443: Handling oslo.policy>=3.7.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.policy>=3.7.0 DEBUG util.py:443: (installed: oslo.policy 4.3.0) DEBUG util.py:443: Handling oslo.serialization>=2.25.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.serialization>=2.25.0 DEBUG util.py:443: (installed: oslo.serialization 5.4.0) DEBUG util.py:443: Handling oslo.service!=1.28.1,>=1.24.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.service!=1.28.1,>=1.24.0 DEBUG util.py:443: (installed: oslo.service 3.4.0) DEBUG util.py:443: Handling oslo.upgradecheck>=1.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.upgradecheck>=1.3.0 DEBUG util.py:443: (installed: oslo.upgradecheck 2.3.0) DEBUG util.py:443: Handling oslo.utils>=4.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.utils>=4.5.0 DEBUG util.py:443: (installed: oslo.utils 7.1.0) DEBUG util.py:443: Handling osprofiler>=1.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: osprofiler>=1.5.0 DEBUG util.py:443: (installed: osprofiler 4.1.0) DEBUG util.py:443: Handling os-traits>=0.4.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: os-traits>=0.4.0 DEBUG util.py:443: (installed: os-traits 3.0.0) DEBUG util.py:443: Handling pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 DEBUG util.py:443: (installed: pecan 1.4.2) DEBUG util.py:443: Handling pycdlib>=1.11.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pycdlib>=1.11.0 DEBUG util.py:443: (installed: pycdlib 1.11.0) DEBUG util.py:443: Handling requests>=2.18.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: requests>=2.18.0 DEBUG util.py:443: (installed: requests 2.25.1) DEBUG util.py:443: Handling rfc3986>=1.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: rfc3986>=1.2.0 DEBUG util.py:443: (installed: rfc3986 1.5.0) DEBUG util.py:443: Handling jsonpatch!=1.20,>=1.16 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: jsonpatch!=1.20,>=1.16 DEBUG util.py:443: (installed: jsonpatch 1.21) DEBUG util.py:443: Handling Jinja2>=3.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: Jinja2>=3.0.0 DEBUG util.py:443: (installed: Jinja2 3.0.1) DEBUG util.py:443: Handling keystonemiddleware>=9.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: keystonemiddleware>=9.5.0 DEBUG util.py:443: (installed: keystonemiddleware 10.6.0) DEBUG util.py:443: Handling oslo.messaging>=14.1.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.messaging>=14.1.0 DEBUG util.py:443: (installed: oslo.messaging 14.6.0) DEBUG util.py:443: Handling tenacity>=6.3.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: tenacity>=6.3.1 DEBUG util.py:443: (installed: tenacity 8.2.3) DEBUG util.py:443: Handling oslo.versionedobjects>=1.31.2 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.versionedobjects>=1.31.2 DEBUG util.py:443: (installed: oslo.versionedobjects 3.3.0) DEBUG util.py:443: Handling jsonschema>=4.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: jsonschema>=4.0.0 DEBUG util.py:443: (installed: jsonschema 4.16.0) DEBUG util.py:443: Handling psutil>=3.2.2 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: psutil>=3.2.2 DEBUG util.py:443: (installed: psutil 5.8.0) DEBUG util.py:443: Handling futurist>=1.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: futurist>=1.2.0 DEBUG util.py:443: (installed: futurist 3.0.0) DEBUG util.py:443: Handling tooz>=2.7.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: tooz>=2.7.0 DEBUG util.py:443: (installed: tooz 6.0.0) DEBUG util.py:443: Handling openstacksdk>=0.48.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: openstacksdk>=0.48.0 DEBUG util.py:443: (installed: openstacksdk 3.0.0) DEBUG util.py:443: Handling sushy>=4.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: sushy>=4.8.0 DEBUG util.py:443: (installed: sushy 5.0.0) DEBUG util.py:443: Handling construct>=2.9.39 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: construct>=2.9.39 DEBUG util.py:443: (installed: construct 2.10.70) DEBUG util.py:443: Handling netaddr from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: netaddr DEBUG util.py:443: (installed: netaddr 0.8.0) DEBUG util.py:443: Handling coverage!=4.4,>=4.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: coverage!=4.4,>=4.0 DEBUG util.py:443: (installed: coverage 7.3.2) DEBUG util.py:443: Handling ddt>=1.2.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: ddt>=1.2.1 DEBUG util.py:443: (installed: ddt 1.6.0) DEBUG util.py:443: Handling fixtures>=3.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: fixtures>=3.0.0 DEBUG util.py:443: (installed: fixtures 4.0.1) DEBUG util.py:443: Handling PyMySQL>=0.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: PyMySQL>=0.8.0 DEBUG util.py:443: (installed: PyMySQL 0.10.1) DEBUG util.py:443: Handling iso8601>=0.1.11 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: iso8601>=0.1.11 DEBUG util.py:443: (installed: iso8601 1.1.0) DEBUG util.py:443: Handling oslo.reports>=1.18.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.reports>=1.18.0 DEBUG util.py:443: (installed: oslo.reports 3.3.0) DEBUG util.py:443: Handling oslotest>=3.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslotest>=3.2.0 DEBUG util.py:443: (installed: oslotest 5.0.0) DEBUG util.py:443: Handling stestr>=2.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: stestr>=2.0.0 DEBUG util.py:443: (installed: stestr 4.1.0) DEBUG util.py:443: Handling psycopg2>=2.8.5 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: psycopg2>=2.8.5 DEBUG util.py:443: (installed: psycopg2 2.9.9) DEBUG util.py:443: Handling testtools>=2.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: testtools>=2.5.0 DEBUG util.py:443: (installed: testtools 2.7.1) DEBUG util.py:443: Handling WebTest>=2.0.27 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: WebTest>=2.0.27 DEBUG util.py:443: (installed: WebTest 3.0.0) DEBUG util.py:443: Handling pysnmp-lextudio>=5.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pysnmp-lextudio>=5.0.0 DEBUG util.py:443: (installed: pysnmp-lextudio 5.0.26) DEBUG util.py:443: Handling pyasn1>=0.5.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pyasn1>=0.5.1 DEBUG util.py:443: (installed: pyasn1 0.5.1) DEBUG util.py:443: Handling pyasn1-modules>=0.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pyasn1-modules>=0.3.0 DEBUG util.py:443: (installed: pyasn1-modules 0.3.0) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: running dist_info DEBUG util.py:443: writing ironic.egg-info/PKG-INFO DEBUG util.py:443: writing dependency_links to ironic.egg-info/dependency_links.txt DEBUG util.py:443: writing entry points to ironic.egg-info/entry_points.txt DEBUG util.py:443: writing requirements to ironic.egg-info/requires.txt DEBUG util.py:443: writing top-level names to ironic.egg-info/top_level.txt DEBUG util.py:443: writing pbr to ironic.egg-info/pbr.json DEBUG util.py:443: [pbr] Processing SOURCES.txt DEBUG util.py:443: [pbr] In git context, generating filelist from git DEBUG util.py:443: warning: no previously-included files found matching '.gitignore' DEBUG util.py:443: warning: no previously-included files found matching '.gitreview' DEBUG util.py:443: warning: no previously-included files matching '*.pyc' found anywhere in distribution DEBUG util.py:443: adding license file 'LICENSE' DEBUG util.py:443: adding license file 'AUTHORS' DEBUG util.py:443: writing manifest file 'ironic.egg-info/SOURCES.txt' DEBUG util.py:443: creating '/builddir/build/BUILD/ironic-24.0.1.dev106/ironic-24.0.1.dev106.dist-info' DEBUG util.py:443: adding license file "LICENSE" (matched pattern "LICEN[CS]E*") DEBUG util.py:443: adding license file "AUTHORS" (matched pattern "AUTHORS*") DEBUG util.py:443: Handling pbr (>=3.1.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: pbr (>=3.1.1) DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling SQLAlchemy (>=1.4.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: SQLAlchemy (>=1.4.0) DEBUG util.py:443: (installed: SQLAlchemy 1.4.51) DEBUG util.py:443: Handling alembic (>=1.4.2) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: alembic (>=1.4.2) DEBUG util.py:443: (installed: alembic 1.8.1) DEBUG util.py:443: Handling automaton (>=1.9.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: automaton (>=1.9.0) DEBUG util.py:443: (installed: automaton 3.2.0) DEBUG util.py:443: Handling eventlet (>=0.30.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: eventlet (>=0.30.1) DEBUG util.py:443: (installed: eventlet 0.33.3) DEBUG util.py:443: Handling WebOb (>=1.7.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: WebOb (>=1.7.1) DEBUG util.py:443: (installed: WebOb 1.8.7) DEBUG util.py:443: Handling python-cinderclient (!=4.0.0,>=3.3.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: python-cinderclient (!=4.0.0,>=3.3.0) DEBUG util.py:443: (installed: python-cinderclient 9.5.0) DEBUG util.py:443: Handling python-glanceclient (>=2.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: python-glanceclient (>=2.8.0) DEBUG util.py:443: (installed: python-glanceclient 4.5.0) DEBUG util.py:443: Handling keystoneauth1 (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: keystoneauth1 (>=4.2.0) DEBUG util.py:443: (installed: keystoneauth1 5.6.0) DEBUG util.py:443: Handling ironic-lib (>=6.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: ironic-lib (>=6.0.0) DEBUG util.py:443: (installed: ironic-lib 6.0.0) DEBUG util.py:443: Handling stevedore (>=1.29.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: stevedore (>=1.29.0) DEBUG util.py:443: (installed: stevedore 5.2.0) DEBUG util.py:443: Handling oslo.concurrency (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.concurrency (>=4.2.0) DEBUG util.py:443: (installed: oslo.concurrency 6.0.0) DEBUG util.py:443: Handling oslo.config (>=6.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.config (>=6.8.0) DEBUG util.py:443: (installed: oslo.config 9.4.0) DEBUG util.py:443: Handling oslo.context (>=2.22.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.context (>=2.22.0) DEBUG util.py:443: (installed: oslo.context 5.5.0) DEBUG util.py:443: Handling oslo.db (>=9.1.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.db (>=9.1.0) DEBUG util.py:443: (installed: oslo.db 15.0.0) DEBUG util.py:443: Handling oslo.rootwrap (>=5.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.rootwrap (>=5.8.0) DEBUG util.py:443: (installed: oslo.rootwrap 7.2.0) DEBUG util.py:443: Handling oslo.log (>=4.3.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.log (>=4.3.0) DEBUG util.py:443: (installed: oslo.log 5.5.0) DEBUG util.py:443: Handling oslo.middleware (>=3.31.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.middleware (>=3.31.0) DEBUG util.py:443: (installed: oslo.middleware 6.1.0) DEBUG util.py:443: Handling oslo.policy (>=3.7.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.policy (>=3.7.0) DEBUG util.py:443: (installed: oslo.policy 4.3.0) DEBUG util.py:443: Handling oslo.serialization (>=2.25.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.serialization (>=2.25.0) DEBUG util.py:443: (installed: oslo.serialization 5.4.0) DEBUG util.py:443: Handling oslo.service (!=1.28.1,>=1.24.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.service (!=1.28.1,>=1.24.0) DEBUG util.py:443: (installed: oslo.service 3.4.0) DEBUG util.py:443: Handling oslo.upgradecheck (>=1.3.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.upgradecheck (>=1.3.0) DEBUG util.py:443: (installed: oslo.upgradecheck 2.3.0) DEBUG util.py:443: Handling oslo.utils (>=4.5.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.utils (>=4.5.0) DEBUG util.py:443: (installed: oslo.utils 7.1.0) DEBUG util.py:443: Handling osprofiler (>=1.5.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: osprofiler (>=1.5.0) DEBUG util.py:443: (installed: osprofiler 4.1.0) DEBUG util.py:443: Handling os-traits (>=0.4.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: os-traits (>=0.4.0) DEBUG util.py:443: (installed: os-traits 3.0.0) DEBUG util.py:443: Handling pecan (!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: pecan (!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0) DEBUG util.py:443: (installed: pecan 1.4.2) DEBUG util.py:443: Handling pycdlib (>=1.11.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: pycdlib (>=1.11.0) DEBUG util.py:443: (installed: pycdlib 1.11.0) DEBUG util.py:443: Handling requests (>=2.18.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: requests (>=2.18.0) DEBUG util.py:443: (installed: requests 2.25.1) DEBUG util.py:443: Handling rfc3986 (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: rfc3986 (>=1.2.0) DEBUG util.py:443: (installed: rfc3986 1.5.0) DEBUG util.py:443: Handling jsonpatch (!=1.20,>=1.16) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: jsonpatch (!=1.20,>=1.16) DEBUG util.py:443: (installed: jsonpatch 1.21) DEBUG util.py:443: Handling Jinja2 (>=3.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: Jinja2 (>=3.0.0) DEBUG util.py:443: (installed: Jinja2 3.0.1) DEBUG util.py:443: Handling keystonemiddleware (>=9.5.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: keystonemiddleware (>=9.5.0) DEBUG util.py:443: (installed: keystonemiddleware 10.6.0) DEBUG util.py:443: Handling oslo.messaging (>=14.1.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.messaging (>=14.1.0) DEBUG util.py:443: (installed: oslo.messaging 14.6.0) DEBUG util.py:443: Handling tenacity (>=6.3.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: tenacity (>=6.3.1) DEBUG util.py:443: (installed: tenacity 8.2.3) DEBUG util.py:443: Handling oslo.versionedobjects (>=1.31.2) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.versionedobjects (>=1.31.2) DEBUG util.py:443: (installed: oslo.versionedobjects 3.3.0) DEBUG util.py:443: Handling jsonschema (>=4.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: jsonschema (>=4.0.0) DEBUG util.py:443: (installed: jsonschema 4.16.0) DEBUG util.py:443: Handling psutil (>=3.2.2) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: psutil (>=3.2.2) DEBUG util.py:443: (installed: psutil 5.8.0) DEBUG util.py:443: Handling futurist (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: futurist (>=1.2.0) DEBUG util.py:443: (installed: futurist 3.0.0) DEBUG util.py:443: Handling tooz (>=2.7.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: tooz (>=2.7.0) DEBUG util.py:443: (installed: tooz 6.0.0) DEBUG util.py:443: Handling openstacksdk (>=0.48.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: openstacksdk (>=0.48.0) DEBUG util.py:443: (installed: openstacksdk 3.0.0) DEBUG util.py:443: Handling sushy (>=4.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: sushy (>=4.8.0) DEBUG util.py:443: (installed: sushy 5.0.0) DEBUG util.py:443: Handling construct (>=2.9.39) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: construct (>=2.9.39) DEBUG util.py:443: (installed: construct 2.10.70) DEBUG util.py:443: Handling netaddr from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: netaddr DEBUG util.py:443: (installed: netaddr 0.8.0) DEBUG util.py:443: Handling virtualbmc (>=1.4.0) ; extra == 'devstack' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: virtualbmc (>=1.4.0) ; extra == 'devstack' DEBUG util.py:443: Handling oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' DEBUG util.py:443: Handling oslo.i18n (>=3.20.0) ; extra == 'i18n' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslo.i18n (>=3.20.0) ; extra == 'i18n' DEBUG util.py:443: Handling coverage (!=4.4,>=4.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: coverage (!=4.4,>=4.0) ; extra == 'test' DEBUG util.py:443: Handling ddt (>=1.2.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: ddt (>=1.2.1) ; extra == 'test' DEBUG util.py:443: Handling fixtures (>=3.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: fixtures (>=3.0.0) ; extra == 'test' DEBUG util.py:443: Handling PyMySQL (>=0.8.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: PyMySQL (>=0.8.0) ; extra == 'test' DEBUG util.py:443: Handling iso8601 (>=0.1.11) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: iso8601 (>=0.1.11) ; extra == 'test' DEBUG util.py:443: Handling oslo.reports (>=1.18.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'test' DEBUG util.py:443: Handling oslotest (>=3.2.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslotest (>=3.2.0) ; extra == 'test' DEBUG util.py:443: Handling stestr (>=2.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: stestr (>=2.0.0) ; extra == 'test' DEBUG util.py:443: Handling psycopg2 (>=2.8.5) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: psycopg2 (>=2.8.5) ; extra == 'test' DEBUG util.py:443: Handling testtools (>=2.5.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: testtools (>=2.5.0) ; extra == 'test' DEBUG util.py:443: Handling WebTest (>=2.0.27) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: WebTest (>=2.0.27) ; extra == 'test' DEBUG util.py:443: Handling pysnmp-lextudio (>=5.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: pysnmp-lextudio (>=5.0.0) ; extra == 'test' DEBUG util.py:443: Handling pyasn1 (>=0.5.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: pyasn1 (>=0.5.1) ; extra == 'test' DEBUG util.py:443: Handling pyasn1-modules (>=0.3.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: pyasn1-modules (>=0.3.0) ; extra == 'test' DEBUG util.py:445: + cat /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires DEBUG util.py:445: + rm -rfv ironic-24.0.1.dev106.dist-info/ DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/AUTHORS' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/LICENSE' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/METADATA' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/entry_points.txt' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/pbr.json' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/top_level.txt' DEBUG util.py:443: removed directory 'ironic-24.0.1.dev106.dist-info/' DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Wrote: /builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm DEBUG util.py:596: Child return code was: 11 INFO backend.py:771: Dynamic buildrequires detected INFO backend.py:772: Going to install missing buildrequires. See root.log for details. INFO backend.py:773: Going to install missing dynamic buildrequires DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm'] DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-caracal-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', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos9-caracal-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.buildreqs.nosrc.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-caracal-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:20 ago on Tue Mar 19 00:19:07 2024. DEBUG util.py:445: Package python3-coverage-7.3.2-2.el9s.x86_64 is already installed. DEBUG util.py:445: Package python3-jsonpatch-1.21-16.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-service-3.4.0-0.20240226205622.f425dd1.el9.noarch is already installed. DEBUG util.py:445: Package python3-pecan-1.4.2-2.el9s.noarch is already installed. DEBUG util.py:445: Package python3-cinderclient-9.5.0-0.20240305134428.e01516d.el9.noarch is already installed. DEBUG util.py:445: Package gmp-devel-1:6.2.0-13.el9.x86_64 is already installed. DEBUG util.py:445: Package libxml2-devel-2.9.13-5.el9.x86_64 is already installed. DEBUG util.py:445: Package libxslt-devel-1.1.34-9.el9.x86_64 is already installed. DEBUG util.py:445: Package openssl-devel-1:3.0.7-27.el9.x86_64 is already installed. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch is already installed. DEBUG util.py:445: Package pyproject-rpm-macros-1.12.0-1.el9.noarch is already installed. DEBUG util.py:445: Package pyproject-rpm-macros-1.12.0-1.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-devel-3.9.18-3.el9.x86_64 is already installed. DEBUG util.py:445: Package python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch is already installed. DEBUG util.py:445: Package python3-alembic-1.8.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-automaton-3.2.0-0.20230904140022.9255778.el9.noarch is already installed. DEBUG util.py:445: Package python3-construct-2.10.70-2.el9s.noarch is already installed. DEBUG util.py:445: Package python3-ddt-1.6.0-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-eventlet-0.33.3-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-fixtures-4.0.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-futurist-3.0.0-0.20240226181950.4e14db5.el9.noarch is already installed. DEBUG util.py:445: Package python3-ironic-lib-6.0.0-0.20240226203254.42fa5d6.el9.noarch is already installed. DEBUG util.py:445: Package python3-iso8601-1.1.0-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-jsonschema-4.16.0-2.el9s.noarch is already installed. DEBUG util.py:445: Package python3-keystoneauth1-5.6.0-0.20240226192318.e071ad4.el9.noarch is already installed. DEBUG util.py:445: Package python3-keystonemiddleware-10.6.0-0.20240226193224.b81c50f.el9.noarch is already installed. DEBUG util.py:445: Package python3-netaddr-0.8.0-5.el9.noarch is already installed. DEBUG util.py:445: Package python3-openstacksdk-3.0.0-0.20240226205222.04cdd0a.el9.noarch is already installed. DEBUG util.py:445: Package python3-os-traits-3.0.0-0.20230718121412.cff125c.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-concurrency-6.0.0-0.20240227074203.53709ba.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-config-2:9.4.0-0.20240315155821.882adf8.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-context-5.5.0-0.20240305133447.e31a7a1.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-log-5.5.0-0.20240226183819.a892465.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-messaging-14.6.0-0.20240112093051.3788846.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-middleware-6.1.0-0.20240226204046.531f39e.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-policy-4.3.0-0.20240226200118.4b7a6f7.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-reports-3.3.0-0.20240226202442.592d8ac.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-rootwrap-7.2.0-0.20240226195306.c6cf187.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-serialization-5.4.0-0.20240229141206.548c7a3.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-upgradecheck-2.3.0-0.20240226194554.b6db590.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslo-versionedobjects-3.3.0-0.20240226185900.25db0cf.el9.noarch is already installed. DEBUG util.py:445: Package python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch is already installed. DEBUG util.py:445: Package python3-osprofiler-4.1.0-0.20230714071424.3c5fead.el9.noarch is already installed. DEBUG util.py:445: Package python3-packaging-20.9-5.el9.noarch is already installed. DEBUG util.py:445: Package python3-pbr-5.11.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pbr-5.11.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pip-21.2.3-8.el9.noarch is already installed. DEBUG util.py:445: Package python3-psutil-5.8.0-12.el9.x86_64 is already installed. DEBUG util.py:445: Package python3-psycopg2-2.9.9-2.el9s.x86_64 is already installed. DEBUG util.py:445: Package python3-pyasn1-0.5.1-3.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pyasn1-modules-0.5.1-3.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pycdlib-1.11.0-5.el9.noarch is already installed. DEBUG util.py:445: Package python3-PyMySQL-0.10.1-6.el9.noarch is already installed. DEBUG util.py:445: Package python3-pysnmp-lextudio-5.0.26-2.el9s.noarch is already installed. DEBUG util.py:445: Package python3-glanceclient-1:4.5.0-0.20240305131741.f683776.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-rfc3986-1.5.0-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-setuptools-65.5.1-2.el9s.noarch is already installed. DEBUG util.py:445: Package python3-sqlalchemy-1.4.51-2.el9s.x86_64 is already installed. DEBUG util.py:445: Package python3-stestr-4.1.0-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch is already installed. DEBUG util.py:445: Package python3-sushy-5.0.0-0.20240226191521.8929cce.el9.noarch is already installed. DEBUG util.py:445: Package python3-tenacity-8.2.3-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-testtools-2.7.1-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-tooz-6.0.0-0.20240229141453.1d0ece2.el9.noarch is already installed. DEBUG util.py:445: Package python3-tox-current-env-0.0.8-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-webob-1.8.7-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-webtest-3.0.0-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-wheel-1:0.36.2-8.el9.noarch is already installed. DEBUG util.py:445: Package systemd-252-27.el9.x86_64 is already installed. 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-caracal-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: crypto-policies-20240202-1.git283706d.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-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: python3-setuptools-wheel-65.5.1-2.el9s.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: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-13.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: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-24.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-24.el9.noarch DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-10.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.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: libxml2-2.9.13-5.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: expat-2.5.0-1.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: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.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: nspr-4.35.0-6.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: nss-util-3.90.0-6.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: gdbm-libs-1.19-4.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: pcre2-10.40-5.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: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.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: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-27.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: systemd-libs-252-27.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.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: util-linux-core-2.37.4-18.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: mesa-libglapi-23.3.3-1.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: python3-pip-wheel-21.2.3-8.el9.noarch 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-65.5.1-2.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-3.0.3-2.el9s.x86_64 DEBUG util.py:445: python3-pip-21.2.3-8.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20240202-1.git283706d.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.3.0-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-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.1.3-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: python3-typing-extensions-4.9.0-1.el9s.noarch DEBUG util.py:445: openssl-3.0.7-27.el9.x86_64 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: bubblewrap-0.4.1-6.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: nss-softokn-freebl-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-6.el9.x86_64 DEBUG util.py:445: nss-3.90.0-6.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: systemd-rpm-macros-252-27.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-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-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-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: libeconf-0.4.1-3.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.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: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: systemd-pam-252-27.el9.x86_64 DEBUG util.py:445: systemd-252-27.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: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-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: krb5-libs-1.21.1-1.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.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: 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: curl-7.76.1-29.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: systemd-udev-252-27.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: gnutls-3.8.3-1.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.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: cups-libs-2.3.3op2-24.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: webkit2gtk3-jsc-2.42.4-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-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.11.1-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-7.1.0-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.3-1.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.51-2.el9s.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20240313121733.ce6a105.el9.noarch DEBUG util.py:445: kernel-headers-5.14.0-430.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: glibc-common-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-102.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-102.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.2-1.el9.x86_64 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: python3-testtools-2.7.1-1.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-fixtures-4.0.1-1.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-stevedore-5.2.0-0.20240226201419.21d601f.el9.noarch DEBUG util.py:445: python3-wrapt-1.16.0-1.el9s.x86_64 DEBUG util.py:445: python3-debtcollector-3.0.0-0.20240226181642.0e6ce1c.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-iso8601-1.1.0-1.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-oslotest-5.0.0-0.20240305124430.4c36dbc.el9.noarch DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-41.el9.x86_64 DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: libpq-13.11-1.el9.x86_64 DEBUG util.py:445: python3-psycopg2-2.9.9-2.el9s.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: gmp-c++-6.2.0-13.el9.x86_64 DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 DEBUG util.py:445: libxml2-devel-2.9.13-5.el9.x86_64 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-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-pynacl-1.5.0-1.el9s.x86_64 DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python-oslo-utils-lang-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-i18n-6.3.0-0.20240226193820.0531fb2.el9.noarch DEBUG util.py:445: python3-oslo-config-9.4.0-0.20240315155821.882adf8.el9.noarch DEBUG util.py:445: python3-oslo-utils-7.1.0-0.20240226204427.17581b5.el9.noarch DEBUG util.py:445: python-oslo-db-lang-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db+mysql-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-15.0.0-0.20240229140754.3e1618f.el9.noarch DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 DEBUG util.py:445: gmp-devel-6.2.0-13.el9.x86_64 DEBUG util.py:445: pyproject-rpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: openssl-devel-3.0.7-27.el9.x86_64 DEBUG util.py:445: python3-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: libtirpc-1.3.3-6.el9.x86_64 DEBUG util.py:445: libnsl2-2.0.0-1.el9.x86_64 DEBUG util.py:445: python3-filelock-3.13.1-1.el9s.noarch DEBUG util.py:445: mpdecimal-2.5.1-3.el9.x86_64 DEBUG util.py:445: python3-distlib-0.3.7-1.el9s.noarch DEBUG util.py:445: python3-wheel-wheel-0.36.2-8.el9.noarch DEBUG util.py:445: python3.12-pip-wheel-23.2.1-4.el9.noarch DEBUG util.py:445: python3.12-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-libs-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.12-devel-3.12.1-4.el9.x86_64 DEBUG util.py:445: python3.11-setuptools-wheel-65.5.1-2.el9.noarch DEBUG util.py:445: python3.11-pip-wheel-22.3.1-5.el9.noarch DEBUG util.py:445: python3.11-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-libs-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3.11-devel-3.11.7-1.el9.x86_64 DEBUG util.py:445: python3-toml-0.10.2-6.el9.noarch DEBUG util.py:445: python3-py-1.10.0-6.el9.noarch DEBUG util.py:445: python3-pluggy-0.13.1-7.el9.noarch DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-virtualenv-20.4.4-1.el9s.noarch DEBUG util.py:445: tox-3.23.0-2.el9s.noarch DEBUG util.py:445: python3-tox-current-env-0.0.8-1.el9s.noarch DEBUG util.py:445: python3-webob-1.8.7-1.el9s.noarch DEBUG util.py:445: python3-prettytable-0.7.2-27.el9.noarch DEBUG util.py:445: python3-oslo-context-5.5.0-0.20240305133447.e31a7a1.el9.noarch DEBUG util.py:445: python3-jeepney-0.8.0-3.el9s.noarch DEBUG util.py:445: python3-futurist-3.0.0-0.20240226181950.4e14db5.el9.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20230629121435.0b2f473.el9.noarch DEBUG util.py:445: python3-keystoneauth1-5.6.0-0.20240226192318.e071ad4.el9.noarch DEBUG util.py:445: python3-secretstorage-3.3.1-1.el9s.noarch DEBUG util.py:445: python3-voluptuous-0.14.2-1.el9s.noarch DEBUG util.py:445: python3-vine-5.1.0-1.el9s.noarch DEBUG util.py:445: python3-amqp-5.2.0-2.el9s.noarch DEBUG util.py:445: python3-tenacity-8.2.3-1.el9s.noarch DEBUG util.py:445: python3-pyasn1-0.5.1-3.el9s.noarch DEBUG util.py:445: python3-pyOpenSSL-20.0.1-2.el9s.noarch DEBUG util.py:445: python3-msgpack-1.0.7-1.el9s.x86_64 DEBUG util.py:445: python3-oslo-serialization-5.4.0-0.20240229141206.548c7a3.el9.noarch DEBUG util.py:445: python3-fasteners-0.19-1.el9s.noarch DEBUG util.py:445: python3-dogpile-cache-1.3.1-1.el9s.noarch DEBUG util.py:445: python3-bcrypt-3.2.2-4.el9s.x86_64 DEBUG util.py:445: python3-attrs-20.3.0-7.el9.noarch DEBUG util.py:445: python3-dateutil-2.8.1-7.el9.noarch DEBUG util.py:445: python3-paste-3.7.1-1.el9s.noarch DEBUG util.py:445: python3-kombu-5.3.5-1.el9s.noarch DEBUG util.py:445: python3-etcd3gw-2.4.0-1.el9s.noarch DEBUG util.py:445: python3-jwt-2.6.0-2.el9s.noarch DEBUG util.py:445: python3-jwt+crypto-2.6.0-2.el9s.noarch DEBUG util.py:445: qpid-proton-c-0.35.0-2.el9s.x86_64 DEBUG util.py:445: python3-qpid-proton-0.35.0-2.el9s.x86_64 DEBUG util.py:445: python3-pyngus-2.3.0-8.el9s.noarch DEBUG util.py:445: python3-zipp-3.6.0-1.el9s.noarch DEBUG util.py:445: python3-importlib-metadata-6.8.0-1.el9s.noarch DEBUG util.py:445: python3-yappi-1.3.6-1.el9s.x86_64 DEBUG util.py:445: python3-wcwidth-0.2.6-1.el9s.noarch DEBUG util.py:445: python3-waitress-2.1.2-1.el9s.noarch DEBUG util.py:445: python3-uhashring-2.3-3.el9s.noarch DEBUG util.py:445: python3-tomlkit-0.12.3-3.el9s.noarch DEBUG util.py:445: python3-statsd-3.2.1-20.el9s.noarch DEBUG util.py:445: python3-soupsieve-2.5-1.el9s.noarch DEBUG util.py:445: python3-beautifulsoup4-4.12.3-2.el9s.noarch DEBUG util.py:445: python3-lxml-4.6.5-3.el9.x86_64 DEBUG util.py:445: python3-smi-lextudio-1.1.13-1.el9s.noarch DEBUG util.py:445: python3-repoze-lru-0.7-10.el9s.noarch DEBUG util.py:445: python3-routes-2.5.1-1.el9s.noarch DEBUG util.py:445: python3-pyperclip-1.8.2-2.el9s.noarch DEBUG util.py:445: python3-cmd2-2.4.2-1.el9s.noarch DEBUG util.py:445: python3-pymemcache-4.0.0-1.el9s.noarch DEBUG util.py:445: python3-prometheus_client-0.19.0-2.el9s.noarch DEBUG util.py:445: python3-platformdirs-3.11.0-1.el9s.noarch DEBUG util.py:445: python3-paste-deploy-3.1.0-2.el9s.noarch DEBUG util.py:445: python3-more-itertools-10.1.0-1.el9s.noarch DEBUG util.py:445: python3-memcached-1.59-3.el9s.noarch DEBUG util.py:445: python3-logutils-0.3.5-15.el9s.noarch DEBUG util.py:445: python3-kazoo-2.8.0-2.el9s.noarch DEBUG util.py:445: python3-zake-0.2.2-22.el9s.noarch DEBUG util.py:445: python3-jmespath-1.0.1-1.el9s.noarch DEBUG util.py:445: python3-jaraco-8.2.1-4.el9s.noarch DEBUG util.py:445: python3-jaraco-classes-3.2.1-5.el9s.noarch DEBUG util.py:445: python3-keyring+completion-24.3.0-4.el9s.noarch DEBUG util.py:445: python3-keyring-24.3.0-4.el9s.noarch DEBUG util.py:445: python3-keystoneclient-5.4.0-0.20240305130254.c66d778.el9.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-3.el9s.noarch DEBUG util.py:445: python3-zeroconf-0.38.7-1.el9s.noarch DEBUG util.py:445: python3-cachetools-5.3.2-2.el9s.noarch DEBUG util.py:445: python3-autopage-0.5.2-3.el9s.noarch DEBUG util.py:445: python3-cliff-4.6.0-0.20240226181305.b6119d5.el9.noarch DEBUG util.py:445: python3-async-timeout-4.0.2-5.el9s.noarch DEBUG util.py:445: python3-redis-5.0.1-1.el9s.noarch DEBUG util.py:445: python3-tooz+redis-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-tooz+zake-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-tooz-6.0.0-0.20240229141453.1d0ece2.el9.noarch DEBUG util.py:445: python3-pyrsistent-0.17.3-8.el9.x86_64 DEBUG util.py:445: python3-jsonschema-4.16.0-2.el9s.noarch DEBUG util.py:445: python3-psutil-5.8.0-12.el9.x86_64 DEBUG util.py:445: python3-jsonpointer-2.0-4.el9.noarch DEBUG util.py:445: python3-jsonpatch-1.21-16.el9.noarch DEBUG util.py:445: python3-warlock-2.0.1-3.el9s.noarch DEBUG util.py:445: memcached-1.6.9-7.el9.x86_64 DEBUG util.py:445: python3-binary-memcached-0.31.2-1.el9s.noarch DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20230628075340.d7ac0ff.el9.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20230706150346.4179996.el9.noarch DEBUG util.py:445: python3-pycadf-3.1.1-0.20230706150346.4179996.el9.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-3.3.0-0.20240226185900.25db0cf.el9.noarch DEBUG util.py:445: python-oslo-policy-lang-4.3.0-0.20240226200118.4b7a6f7.el9.noarch DEBUG util.py:445: python3-oslo-policy-4.3.0-0.20240226200118.4b7a6f7.el9.noarch DEBUG util.py:445: python-oslo-middleware-lang-6.1.0-0.20240226204046.531f39e.el9.noarch DEBUG util.py:445: python3-oslo-middleware-6.1.0-0.20240226204046.531f39e.el9.noarch DEBUG util.py:445: python-oslo-log-lang-5.5.0-0.20240226183819.a892465.el9.noarch DEBUG util.py:445: python3-oslo-log-5.5.0-0.20240226183819.a892465.el9.noarch DEBUG util.py:445: python3-oslo-metrics-0.8.0-0.20240226185450.1ebb7f8.el9.noarch DEBUG util.py:445: python-oslo-concurrency-lang-6.0.0-0.20240227074203.53709ba.el9.noarch DEBUG util.py:445: python3-oslo-concurrency-6.0.0-0.20240227074203.53709ba.el9.noarch DEBUG util.py:445: python3-oslo-service-3.4.0-0.20240226205622.f425dd1.el9.noarch DEBUG util.py:445: python3-oslo-messaging+amqp1-14.6.0-0.20240112093051.3788846.el9.noarch DEBUG util.py:445: python3-oslo-messaging-14.6.0-0.20240112093051.3788846.el9.noarch DEBUG util.py:445: python-oslo-cache-lang-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache+dogpile-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache+etcd3gw-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-oslo-cache-3.7.0-0.20240227073749.e8de6c9.el9.noarch DEBUG util.py:445: python3-keystonemiddleware-10.6.0-0.20240226193224.b81c50f.el9.noarch DEBUG util.py:445: python3-oslo-versionedobjects-3.3.0-0.20240226185900.25db0cf.el9.noarch DEBUG util.py:445: python3-osprofiler-4.1.0-0.20230714071424.3c5fead.el9.noarch DEBUG util.py:445: python3-ironic-lib-6.0.0-0.20240226203254.42fa5d6.el9.noarch DEBUG util.py:445: python3-oslo-upgradecheck-2.3.0-0.20240226194554.b6db590.el9.noarch DEBUG util.py:445: python3-openstacksdk-3.0.0-0.20240226205222.04cdd0a.el9.noarch DEBUG util.py:445: python3-glanceclient-4.5.0-0.20240305131741.f683776.el9.noarch DEBUG util.py:445: python3-oslo-reports-3.3.0-0.20240226202442.592d8ac.el9.noarch DEBUG util.py:445: python3-stestr-4.1.0-1.el9s.noarch DEBUG util.py:445: python3-pecan-1.4.2-2.el9s.noarch DEBUG util.py:445: python3-pysnmp-lextudio-5.0.26-2.el9s.noarch DEBUG util.py:445: python3-webtest-3.0.0-1.el9s.noarch DEBUG util.py:445: python3-sushy-5.0.0-0.20240226191521.8929cce.el9.noarch DEBUG util.py:445: python3-pyasn1-modules-0.5.1-3.el9s.noarch DEBUG util.py:445: python3-cinderclient-9.5.0-0.20240305134428.e01516d.el9.noarch DEBUG util.py:445: python3-automaton-3.2.0-0.20230904140022.9255778.el9.noarch DEBUG util.py:445: python3-ddt-1.6.0-1.el9s.noarch DEBUG util.py:445: python3-coverage-7.3.2-2.el9s.x86_64 DEBUG util.py:445: python3-construct-2.10.70-2.el9s.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-5.el9.noarch DEBUG util.py:445: python3-oslo-rootwrap-7.2.0-0.20240226195306.c6cf187.el9.noarch DEBUG util.py:445: python3-os-traits-3.0.0-0.20230718121412.cff125c.el9.noarch DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-caracal-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=1038gid=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 -ba --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\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(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.7q8yie DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + echo pyproject-rpm-macros DEBUG util.py:445: + echo python3-devel DEBUG util.py:445: + echo 'python3dist(pip) >= 19' DEBUG util.py:445: + echo 'python3dist(packaging)' DEBUG util.py:445: + '[' -f pyproject.toml ']' DEBUG util.py:445: + '[' -f setup.py ']' DEBUG util.py:445: + echo 'python3dist(setuptools) >= 40.8' DEBUG util.py:445: + echo 'python3dist(wheel)' DEBUG util.py:445: + rm -rfv '*.dist-info/' DEBUG util.py:445: + '[' -f /usr/bin/python3 ']' DEBUG util.py:445: + mkdir -p /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + echo -n 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: + TMPDIR=/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + RPM_TOXENV=py39 DEBUG util.py:445: + HOSTNAME=rpmbuild DEBUG util.py:445: + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-24.0.1.dev106/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires -t -e py39 DEBUG util.py:443: Handling setuptools >= 40.8 from default build backend DEBUG util.py:443: Requirement satisfied: setuptools >= 40.8 DEBUG util.py:443: (installed: setuptools 65.5.1) DEBUG util.py:443: Handling wheel from default build backend DEBUG util.py:443: Requirement satisfied: wheel DEBUG util.py:443: (installed: wheel 0.36.2) DEBUG util.py:443: Handling wheel from get_requires_for_build_wheel DEBUG util.py:443: Requirement satisfied: wheel DEBUG util.py:443: (installed: wheel 0.36.2) DEBUG util.py:443: Handling pbr>=2.0.0 from get_requires_for_build_wheel DEBUG util.py:443: Requirement satisfied: pbr>=2.0.0 DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling tox-current-env >= 0.0.6 from tox itself DEBUG util.py:443: Requirement satisfied: tox-current-env >= 0.0.6 DEBUG util.py:443: (installed: tox-current-env 0.0.8) DEBUG util.py:443: ___________________________________ summary ____________________________________ DEBUG util.py:443: py39: commands succeeded DEBUG util.py:443: congratulations :) DEBUG util.py:443: Handling pbr>=3.1.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pbr>=3.1.1 DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling SQLAlchemy>=1.4.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: SQLAlchemy>=1.4.0 DEBUG util.py:443: (installed: SQLAlchemy 1.4.51) DEBUG util.py:443: Handling alembic>=1.4.2 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: alembic>=1.4.2 DEBUG util.py:443: (installed: alembic 1.8.1) DEBUG util.py:443: Handling automaton>=1.9.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: automaton>=1.9.0 DEBUG util.py:443: (installed: automaton 3.2.0) DEBUG util.py:443: Handling eventlet>=0.30.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: eventlet>=0.30.1 DEBUG util.py:443: (installed: eventlet 0.33.3) DEBUG util.py:443: Handling WebOb>=1.7.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: WebOb>=1.7.1 DEBUG util.py:443: (installed: WebOb 1.8.7) DEBUG util.py:443: Handling python-cinderclient!=4.0.0,>=3.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: python-cinderclient!=4.0.0,>=3.3.0 DEBUG util.py:443: (installed: python-cinderclient 9.5.0) DEBUG util.py:443: Handling python-glanceclient>=2.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: python-glanceclient>=2.8.0 DEBUG util.py:443: (installed: python-glanceclient 4.5.0) DEBUG util.py:443: Handling keystoneauth1>=4.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: keystoneauth1>=4.2.0 DEBUG util.py:443: (installed: keystoneauth1 5.6.0) DEBUG util.py:443: Handling ironic-lib>=6.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: ironic-lib>=6.0.0 DEBUG util.py:443: (installed: ironic-lib 6.0.0) DEBUG util.py:443: Handling stevedore>=1.29.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: stevedore>=1.29.0 DEBUG util.py:443: (installed: stevedore 5.2.0) DEBUG util.py:443: Handling oslo.concurrency>=4.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.concurrency>=4.2.0 DEBUG util.py:443: (installed: oslo.concurrency 6.0.0) DEBUG util.py:443: Handling oslo.config>=6.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.config>=6.8.0 DEBUG util.py:443: (installed: oslo.config 9.4.0) DEBUG util.py:443: Handling oslo.context>=2.22.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.context>=2.22.0 DEBUG util.py:443: (installed: oslo.context 5.5.0) DEBUG util.py:443: Handling oslo.db>=9.1.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.db>=9.1.0 DEBUG util.py:443: (installed: oslo.db 15.0.0) DEBUG util.py:443: Handling oslo.rootwrap>=5.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.rootwrap>=5.8.0 DEBUG util.py:443: (installed: oslo.rootwrap 7.2.0) DEBUG util.py:443: Handling oslo.log>=4.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.log>=4.3.0 DEBUG util.py:443: (installed: oslo.log 5.5.0) DEBUG util.py:443: Handling oslo.middleware>=3.31.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.middleware>=3.31.0 DEBUG util.py:443: (installed: oslo.middleware 6.1.0) DEBUG util.py:443: Handling oslo.policy>=3.7.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.policy>=3.7.0 DEBUG util.py:443: (installed: oslo.policy 4.3.0) DEBUG util.py:443: Handling oslo.serialization>=2.25.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.serialization>=2.25.0 DEBUG util.py:443: (installed: oslo.serialization 5.4.0) DEBUG util.py:443: Handling oslo.service!=1.28.1,>=1.24.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.service!=1.28.1,>=1.24.0 DEBUG util.py:443: (installed: oslo.service 3.4.0) DEBUG util.py:443: Handling oslo.upgradecheck>=1.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.upgradecheck>=1.3.0 DEBUG util.py:443: (installed: oslo.upgradecheck 2.3.0) DEBUG util.py:443: Handling oslo.utils>=4.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.utils>=4.5.0 DEBUG util.py:443: (installed: oslo.utils 7.1.0) DEBUG util.py:443: Handling osprofiler>=1.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: osprofiler>=1.5.0 DEBUG util.py:443: (installed: osprofiler 4.1.0) DEBUG util.py:443: Handling os-traits>=0.4.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: os-traits>=0.4.0 DEBUG util.py:443: (installed: os-traits 3.0.0) DEBUG util.py:443: Handling pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 DEBUG util.py:443: (installed: pecan 1.4.2) DEBUG util.py:443: Handling pycdlib>=1.11.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pycdlib>=1.11.0 DEBUG util.py:443: (installed: pycdlib 1.11.0) DEBUG util.py:443: Handling requests>=2.18.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: requests>=2.18.0 DEBUG util.py:443: (installed: requests 2.25.1) DEBUG util.py:443: Handling rfc3986>=1.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: rfc3986>=1.2.0 DEBUG util.py:443: (installed: rfc3986 1.5.0) DEBUG util.py:443: Handling jsonpatch!=1.20,>=1.16 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: jsonpatch!=1.20,>=1.16 DEBUG util.py:443: (installed: jsonpatch 1.21) DEBUG util.py:443: Handling Jinja2>=3.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: Jinja2>=3.0.0 DEBUG util.py:443: (installed: Jinja2 3.0.1) DEBUG util.py:443: Handling keystonemiddleware>=9.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: keystonemiddleware>=9.5.0 DEBUG util.py:443: (installed: keystonemiddleware 10.6.0) DEBUG util.py:443: Handling oslo.messaging>=14.1.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.messaging>=14.1.0 DEBUG util.py:443: (installed: oslo.messaging 14.6.0) DEBUG util.py:443: Handling tenacity>=6.3.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: tenacity>=6.3.1 DEBUG util.py:443: (installed: tenacity 8.2.3) DEBUG util.py:443: Handling oslo.versionedobjects>=1.31.2 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.versionedobjects>=1.31.2 DEBUG util.py:443: (installed: oslo.versionedobjects 3.3.0) DEBUG util.py:443: Handling jsonschema>=4.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: jsonschema>=4.0.0 DEBUG util.py:443: (installed: jsonschema 4.16.0) DEBUG util.py:443: Handling psutil>=3.2.2 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: psutil>=3.2.2 DEBUG util.py:443: (installed: psutil 5.8.0) DEBUG util.py:443: Handling futurist>=1.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: futurist>=1.2.0 DEBUG util.py:443: (installed: futurist 3.0.0) DEBUG util.py:443: Handling tooz>=2.7.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: tooz>=2.7.0 DEBUG util.py:443: (installed: tooz 6.0.0) DEBUG util.py:443: Handling openstacksdk>=0.48.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: openstacksdk>=0.48.0 DEBUG util.py:443: (installed: openstacksdk 3.0.0) DEBUG util.py:443: Handling sushy>=4.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: sushy>=4.8.0 DEBUG util.py:443: (installed: sushy 5.0.0) DEBUG util.py:443: Handling construct>=2.9.39 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: construct>=2.9.39 DEBUG util.py:443: (installed: construct 2.10.70) DEBUG util.py:443: Handling netaddr from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: netaddr DEBUG util.py:443: (installed: netaddr 0.8.0) DEBUG util.py:443: Handling coverage!=4.4,>=4.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: coverage!=4.4,>=4.0 DEBUG util.py:443: (installed: coverage 7.3.2) DEBUG util.py:443: Handling ddt>=1.2.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: ddt>=1.2.1 DEBUG util.py:443: (installed: ddt 1.6.0) DEBUG util.py:443: Handling fixtures>=3.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: fixtures>=3.0.0 DEBUG util.py:443: (installed: fixtures 4.0.1) DEBUG util.py:443: Handling PyMySQL>=0.8.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: PyMySQL>=0.8.0 DEBUG util.py:443: (installed: PyMySQL 0.10.1) DEBUG util.py:443: Handling iso8601>=0.1.11 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: iso8601>=0.1.11 DEBUG util.py:443: (installed: iso8601 1.1.0) DEBUG util.py:443: Handling oslo.reports>=1.18.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslo.reports>=1.18.0 DEBUG util.py:443: (installed: oslo.reports 3.3.0) DEBUG util.py:443: Handling oslotest>=3.2.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: oslotest>=3.2.0 DEBUG util.py:443: (installed: oslotest 5.0.0) DEBUG util.py:443: Handling stestr>=2.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: stestr>=2.0.0 DEBUG util.py:443: (installed: stestr 4.1.0) DEBUG util.py:443: Handling psycopg2>=2.8.5 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: psycopg2>=2.8.5 DEBUG util.py:443: (installed: psycopg2 2.9.9) DEBUG util.py:443: Handling testtools>=2.5.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: testtools>=2.5.0 DEBUG util.py:443: (installed: testtools 2.7.1) DEBUG util.py:443: Handling WebTest>=2.0.27 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: WebTest>=2.0.27 DEBUG util.py:443: (installed: WebTest 3.0.0) DEBUG util.py:443: Handling pysnmp-lextudio>=5.0.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pysnmp-lextudio>=5.0.0 DEBUG util.py:443: (installed: pysnmp-lextudio 5.0.26) DEBUG util.py:443: Handling pyasn1>=0.5.1 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pyasn1>=0.5.1 DEBUG util.py:443: (installed: pyasn1 0.5.1) DEBUG util.py:443: Handling pyasn1-modules>=0.3.0 from tox --print-deps-only: py39 DEBUG util.py:443: Requirement satisfied: pyasn1-modules>=0.3.0 DEBUG util.py:443: (installed: pyasn1-modules 0.3.0) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: running dist_info DEBUG util.py:443: writing ironic.egg-info/PKG-INFO DEBUG util.py:443: writing dependency_links to ironic.egg-info/dependency_links.txt DEBUG util.py:443: writing entry points to ironic.egg-info/entry_points.txt DEBUG util.py:443: writing requirements to ironic.egg-info/requires.txt DEBUG util.py:443: writing top-level names to ironic.egg-info/top_level.txt DEBUG util.py:443: writing pbr to ironic.egg-info/pbr.json DEBUG util.py:443: [pbr] Processing SOURCES.txt DEBUG util.py:443: [pbr] In git context, generating filelist from git DEBUG util.py:443: warning: no previously-included files found matching '.gitignore' DEBUG util.py:443: warning: no previously-included files found matching '.gitreview' DEBUG util.py:443: warning: no previously-included files matching '*.pyc' found anywhere in distribution DEBUG util.py:443: adding license file 'LICENSE' DEBUG util.py:443: adding license file 'AUTHORS' DEBUG util.py:443: writing manifest file 'ironic.egg-info/SOURCES.txt' DEBUG util.py:443: creating '/builddir/build/BUILD/ironic-24.0.1.dev106/ironic-24.0.1.dev106.dist-info' DEBUG util.py:443: adding license file "LICENSE" (matched pattern "LICEN[CS]E*") DEBUG util.py:443: adding license file "AUTHORS" (matched pattern "AUTHORS*") DEBUG util.py:443: Handling pbr (>=3.1.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: pbr (>=3.1.1) DEBUG util.py:443: (installed: pbr 5.11.1) DEBUG util.py:443: Handling SQLAlchemy (>=1.4.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: SQLAlchemy (>=1.4.0) DEBUG util.py:443: (installed: SQLAlchemy 1.4.51) DEBUG util.py:443: Handling alembic (>=1.4.2) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: alembic (>=1.4.2) DEBUG util.py:443: (installed: alembic 1.8.1) DEBUG util.py:443: Handling automaton (>=1.9.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: automaton (>=1.9.0) DEBUG util.py:443: (installed: automaton 3.2.0) DEBUG util.py:443: Handling eventlet (>=0.30.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: eventlet (>=0.30.1) DEBUG util.py:443: (installed: eventlet 0.33.3) DEBUG util.py:443: Handling WebOb (>=1.7.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: WebOb (>=1.7.1) DEBUG util.py:443: (installed: WebOb 1.8.7) DEBUG util.py:443: Handling python-cinderclient (!=4.0.0,>=3.3.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: python-cinderclient (!=4.0.0,>=3.3.0) DEBUG util.py:443: (installed: python-cinderclient 9.5.0) DEBUG util.py:443: Handling python-glanceclient (>=2.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: python-glanceclient (>=2.8.0) DEBUG util.py:443: (installed: python-glanceclient 4.5.0) DEBUG util.py:443: Handling keystoneauth1 (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: keystoneauth1 (>=4.2.0) DEBUG util.py:443: (installed: keystoneauth1 5.6.0) DEBUG util.py:443: Handling ironic-lib (>=6.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: ironic-lib (>=6.0.0) DEBUG util.py:443: (installed: ironic-lib 6.0.0) DEBUG util.py:443: Handling stevedore (>=1.29.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: stevedore (>=1.29.0) DEBUG util.py:443: (installed: stevedore 5.2.0) DEBUG util.py:443: Handling oslo.concurrency (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.concurrency (>=4.2.0) DEBUG util.py:443: (installed: oslo.concurrency 6.0.0) DEBUG util.py:443: Handling oslo.config (>=6.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.config (>=6.8.0) DEBUG util.py:443: (installed: oslo.config 9.4.0) DEBUG util.py:443: Handling oslo.context (>=2.22.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.context (>=2.22.0) DEBUG util.py:443: (installed: oslo.context 5.5.0) DEBUG util.py:443: Handling oslo.db (>=9.1.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.db (>=9.1.0) DEBUG util.py:443: (installed: oslo.db 15.0.0) DEBUG util.py:443: Handling oslo.rootwrap (>=5.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.rootwrap (>=5.8.0) DEBUG util.py:443: (installed: oslo.rootwrap 7.2.0) DEBUG util.py:443: Handling oslo.log (>=4.3.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.log (>=4.3.0) DEBUG util.py:443: (installed: oslo.log 5.5.0) DEBUG util.py:443: Handling oslo.middleware (>=3.31.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.middleware (>=3.31.0) DEBUG util.py:443: (installed: oslo.middleware 6.1.0) DEBUG util.py:443: Handling oslo.policy (>=3.7.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.policy (>=3.7.0) DEBUG util.py:443: (installed: oslo.policy 4.3.0) DEBUG util.py:443: Handling oslo.serialization (>=2.25.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.serialization (>=2.25.0) DEBUG util.py:443: (installed: oslo.serialization 5.4.0) DEBUG util.py:443: Handling oslo.service (!=1.28.1,>=1.24.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.service (!=1.28.1,>=1.24.0) DEBUG util.py:443: (installed: oslo.service 3.4.0) DEBUG util.py:443: Handling oslo.upgradecheck (>=1.3.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.upgradecheck (>=1.3.0) DEBUG util.py:443: (installed: oslo.upgradecheck 2.3.0) DEBUG util.py:443: Handling oslo.utils (>=4.5.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.utils (>=4.5.0) DEBUG util.py:443: (installed: oslo.utils 7.1.0) DEBUG util.py:443: Handling osprofiler (>=1.5.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: osprofiler (>=1.5.0) DEBUG util.py:443: (installed: osprofiler 4.1.0) DEBUG util.py:443: Handling os-traits (>=0.4.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: os-traits (>=0.4.0) DEBUG util.py:443: (installed: os-traits 3.0.0) DEBUG util.py:443: Handling pecan (!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: pecan (!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0) DEBUG util.py:443: (installed: pecan 1.4.2) DEBUG util.py:443: Handling pycdlib (>=1.11.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: pycdlib (>=1.11.0) DEBUG util.py:443: (installed: pycdlib 1.11.0) DEBUG util.py:443: Handling requests (>=2.18.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: requests (>=2.18.0) DEBUG util.py:443: (installed: requests 2.25.1) DEBUG util.py:443: Handling rfc3986 (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: rfc3986 (>=1.2.0) DEBUG util.py:443: (installed: rfc3986 1.5.0) DEBUG util.py:443: Handling jsonpatch (!=1.20,>=1.16) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: jsonpatch (!=1.20,>=1.16) DEBUG util.py:443: (installed: jsonpatch 1.21) DEBUG util.py:443: Handling Jinja2 (>=3.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: Jinja2 (>=3.0.0) DEBUG util.py:443: (installed: Jinja2 3.0.1) DEBUG util.py:443: Handling keystonemiddleware (>=9.5.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: keystonemiddleware (>=9.5.0) DEBUG util.py:443: (installed: keystonemiddleware 10.6.0) DEBUG util.py:443: Handling oslo.messaging (>=14.1.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.messaging (>=14.1.0) DEBUG util.py:443: (installed: oslo.messaging 14.6.0) DEBUG util.py:443: Handling tenacity (>=6.3.1) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: tenacity (>=6.3.1) DEBUG util.py:443: (installed: tenacity 8.2.3) DEBUG util.py:443: Handling oslo.versionedobjects (>=1.31.2) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: oslo.versionedobjects (>=1.31.2) DEBUG util.py:443: (installed: oslo.versionedobjects 3.3.0) DEBUG util.py:443: Handling jsonschema (>=4.0.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: jsonschema (>=4.0.0) DEBUG util.py:443: (installed: jsonschema 4.16.0) DEBUG util.py:443: Handling psutil (>=3.2.2) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: psutil (>=3.2.2) DEBUG util.py:443: (installed: psutil 5.8.0) DEBUG util.py:443: Handling futurist (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: futurist (>=1.2.0) DEBUG util.py:443: (installed: futurist 3.0.0) DEBUG util.py:443: Handling tooz (>=2.7.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: tooz (>=2.7.0) DEBUG util.py:443: (installed: tooz 6.0.0) DEBUG util.py:443: Handling openstacksdk (>=0.48.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: openstacksdk (>=0.48.0) DEBUG util.py:443: (installed: openstacksdk 3.0.0) DEBUG util.py:443: Handling sushy (>=4.8.0) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: sushy (>=4.8.0) DEBUG util.py:443: (installed: sushy 5.0.0) DEBUG util.py:443: Handling construct (>=2.9.39) from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: construct (>=2.9.39) DEBUG util.py:443: (installed: construct 2.10.70) DEBUG util.py:443: Handling netaddr from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Requirement satisfied: netaddr DEBUG util.py:443: (installed: netaddr 0.8.0) DEBUG util.py:443: Handling virtualbmc (>=1.4.0) ; extra == 'devstack' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: virtualbmc (>=1.4.0) ; extra == 'devstack' DEBUG util.py:443: Handling oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' DEBUG util.py:443: Handling oslo.i18n (>=3.20.0) ; extra == 'i18n' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslo.i18n (>=3.20.0) ; extra == 'i18n' DEBUG util.py:443: Handling coverage (!=4.4,>=4.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: coverage (!=4.4,>=4.0) ; extra == 'test' DEBUG util.py:443: Handling ddt (>=1.2.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: ddt (>=1.2.1) ; extra == 'test' DEBUG util.py:443: Handling fixtures (>=3.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: fixtures (>=3.0.0) ; extra == 'test' DEBUG util.py:443: Handling PyMySQL (>=0.8.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: PyMySQL (>=0.8.0) ; extra == 'test' DEBUG util.py:443: Handling iso8601 (>=0.1.11) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: iso8601 (>=0.1.11) ; extra == 'test' DEBUG util.py:443: Handling oslo.reports (>=1.18.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'test' DEBUG util.py:443: Handling oslotest (>=3.2.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: oslotest (>=3.2.0) ; extra == 'test' DEBUG util.py:443: Handling stestr (>=2.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: stestr (>=2.0.0) ; extra == 'test' DEBUG util.py:443: Handling psycopg2 (>=2.8.5) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: psycopg2 (>=2.8.5) ; extra == 'test' DEBUG util.py:443: Handling testtools (>=2.5.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: testtools (>=2.5.0) ; extra == 'test' DEBUG util.py:443: Handling WebTest (>=2.0.27) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: WebTest (>=2.0.27) ; extra == 'test' DEBUG util.py:443: Handling pysnmp-lextudio (>=5.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: pysnmp-lextudio (>=5.0.0) ; extra == 'test' DEBUG util.py:443: Handling pyasn1 (>=0.5.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: pyasn1 (>=0.5.1) ; extra == 'test' DEBUG util.py:443: Handling pyasn1-modules (>=0.3.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) DEBUG util.py:443: Ignoring alien requirement: pyasn1-modules (>=0.3.0) ; extra == 'test' DEBUG util.py:445: + cat /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-buildrequires DEBUG util.py:445: + rm -rfv ironic-24.0.1.dev106.dist-info/ DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/LICENSE' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/AUTHORS' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/METADATA' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/top_level.txt' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/pbr.json' DEBUG util.py:443: removed 'ironic-24.0.1.dev106.dist-info/entry_points.txt' DEBUG util.py:443: removed directory 'ironic-24.0.1.dev106.dist-info/' 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.XO4nOc DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + mkdir -p /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir 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: + TMPDIR=/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/ironic-24.0.1.dev106/pyproject-wheeldir DEBUG util.py:445: Processing /builddir/build/BUILD/ironic-24.0.1.dev106 DEBUG util.py:443: DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default. DEBUG util.py:443: pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555. DEBUG util.py:445: Preparing wheel metadata: started DEBUG util.py:443: Running command /usr/bin/python3 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/tmpso22h1hq DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: running dist_info DEBUG util.py:443: creating /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic.egg-info DEBUG util.py:443: writing /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic.egg-info/PKG-INFO DEBUG util.py:443: writing dependency_links to /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic.egg-info/dependency_links.txt DEBUG util.py:443: writing entry points to /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic.egg-info/entry_points.txt DEBUG util.py:443: writing requirements to /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic.egg-info/requires.txt DEBUG util.py:443: writing top-level names to /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic.egg-info/top_level.txt DEBUG util.py:443: writing pbr to /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic.egg-info/pbr.json DEBUG util.py:443: [pbr] Processing SOURCES.txt DEBUG util.py:443: writing manifest file '/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic.egg-info/SOURCES.txt' DEBUG util.py:443: [pbr] In git context, generating filelist from git DEBUG util.py:443: warning: no previously-included files found matching '.gitignore' DEBUG util.py:443: warning: no previously-included files found matching '.gitreview' DEBUG util.py:443: warning: no previously-included files matching '*.pyc' found anywhere in distribution DEBUG util.py:443: adding license file 'LICENSE' DEBUG util.py:443: adding license file 'AUTHORS' DEBUG util.py:443: writing manifest file '/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic.egg-info/SOURCES.txt' DEBUG util.py:443: creating '/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-_3ilyuj8/ironic-24.0.1.dev106.dist-info' DEBUG util.py:443: adding license file "LICENSE" (matched pattern "LICEN[CS]E*") DEBUG util.py:443: adding license file "AUTHORS" (matched pattern "AUTHORS*") DEBUG util.py:445: Preparing wheel metadata: finished with status 'done' DEBUG util.py:445: Building wheels for collected packages: ironic DEBUG util.py:445: Building wheel for ironic (PEP 517): started DEBUG util.py:443: Running command /usr/bin/python3 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/tmpu6844aot DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. DEBUG util.py:443: warnings.warn( DEBUG util.py:443: running bdist_wheel DEBUG util.py:443: running build DEBUG util.py:443: running build_py DEBUG util.py:443: creating build DEBUG util.py:443: creating build/lib DEBUG util.py:443: creating build/lib/ironic DEBUG util.py:443: creating build/lib/ironic/tests DEBUG util.py:443: creating build/lib/ironic/tests/functional DEBUG util.py:443: copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional DEBUG util.py:443: creating build/lib/ironic/drivers DEBUG util.py:443: creating build/lib/ironic/drivers/modules DEBUG util.py:443: creating build/lib/ironic/drivers/modules/inspector DEBUG util.py:443: creating build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/__init__.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/accelerators.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/architecture.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/base.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/boot_mode.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/cpu_capabilities.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/extra_hardware.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/local_link_connection.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/memory.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/parse_lldp.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/pci_devices.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/physical_network.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/ports.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/raid_device.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/ramdisk_error.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/root_device.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/validate_interfaces.py -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: creating build/lib/ironic/tests/unit DEBUG util.py:443: creating build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/__init__.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_args.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_cinder.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_context.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_driver_factory.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_fsm.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_glance_service.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_hash_ring.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_image_publisher.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_image_service.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_images.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_keystone.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_kickstart_utils.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_molds.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_network.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_neutron.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_nova.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_policy.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_pxe_utils.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_raid.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_release_mappings.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_rpc.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_states.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_swift.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_utils.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: copying ironic/tests/unit/common/test_wsgi_service.py -> build/lib/ironic/tests/unit/common DEBUG util.py:443: creating build/lib/ironic/tests/unit/db DEBUG util.py:443: creating build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying ironic/tests/unit/db/sqlalchemy/test_api.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying ironic/tests/unit/db/sqlalchemy/test_models.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: creating build/lib/ironic/tests/unit/dhcp DEBUG util.py:443: copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp DEBUG util.py:443: copying ironic/tests/unit/dhcp/test_dnsmasq.py -> build/lib/ironic/tests/unit/dhcp DEBUG util.py:443: copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp DEBUG util.py:443: copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib/ironic/tests/unit/dhcp DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: creating build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/__init__.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/bios.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/boot.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/common.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/inspect.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/job.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/management.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/power.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/raid.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/utils.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: copying ironic/drivers/modules/drac/vendor_passthru.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/storage DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib/ironic/tests/unit/drivers/modules/storage DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/storage/test_external.py -> build/lib/ironic/tests/unit/drivers/modules/storage DEBUG util.py:443: creating build/lib/ironic/drivers/modules/intel_ipmi DEBUG util.py:443: copying ironic/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/drivers/modules/intel_ipmi DEBUG util.py:443: copying ironic/drivers/modules/intel_ipmi/management.py -> build/lib/ironic/drivers/modules/intel_ipmi DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_firmware.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/__init__.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/agent.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/agent_base.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/agent_client.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/agent_power.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/boot_mode_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/console_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/deploy_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/fake.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/image_cache.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/image_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/inspect_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/ipmitool.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/ipxe.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/noop.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/noop_mgmt.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/pxe.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/pxe_base.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/ramdisk.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/snmp.py -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/__init__.py -> build/lib/ironic DEBUG util.py:443: copying ironic/version.py -> build/lib/ironic DEBUG util.py:443: creating build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: copying ironic/drivers/modules/irmc/__init__.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: copying ironic/drivers/modules/irmc/bios.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: copying ironic/drivers/modules/irmc/boot.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: copying ironic/drivers/modules/irmc/common.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: copying ironic/drivers/modules/irmc/inspect.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: copying ironic/drivers/modules/irmc/management.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: copying ironic/drivers/modules/irmc/power.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: copying ironic/drivers/modules/irmc/raid.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: copying ironic/drivers/modules/irmc/vendor.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:443: creating build/lib/ironic/hacking DEBUG util.py:443: copying ironic/hacking/__init__.py -> build/lib/ironic/hacking DEBUG util.py:443: copying ironic/hacking/checks.py -> build/lib/ironic/hacking DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/network/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/network/test_flat.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/network/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: creating build/lib/ironic/tests/unit/api DEBUG util.py:443: creating build/lib/ironic/tests/unit/api/controllers DEBUG util.py:443: creating build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/__init__.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_collection.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_driver.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_event.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_node.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_port.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_root.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_shard.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_versions.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_volume.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: creating build/lib/ironic/drivers/modules/storage DEBUG util.py:443: copying ironic/drivers/modules/storage/__init__.py -> build/lib/ironic/drivers/modules/storage DEBUG util.py:443: copying ironic/drivers/modules/storage/cinder.py -> build/lib/ironic/drivers/modules/storage DEBUG util.py:443: copying ironic/drivers/modules/storage/external.py -> build/lib/ironic/drivers/modules/storage DEBUG util.py:443: copying ironic/drivers/modules/storage/noop.py -> build/lib/ironic/drivers/modules/storage DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_accelerators.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_architecture.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_boot_mode.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_cpu_capabilities.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_extra_hardware.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_memory.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_parse_lldp.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_pci_devices.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_physical_network.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_ports.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_raid_device.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_ramdisk_error.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_root_device.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/hooks/test_validate_interfaces.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: creating build/lib/ironic/dhcp DEBUG util.py:443: copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp DEBUG util.py:443: copying ironic/dhcp/base.py -> build/lib/ironic/dhcp DEBUG util.py:443: copying ironic/dhcp/dnsmasq.py -> build/lib/ironic/dhcp DEBUG util.py:443: copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp DEBUG util.py:443: copying ironic/dhcp/none.py -> build/lib/ironic/dhcp DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ibmc DEBUG util.py:443: copying ironic/drivers/modules/ibmc/__init__.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:443: copying ironic/drivers/modules/ibmc/management.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:443: copying ironic/drivers/modules/ibmc/mappings.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:443: copying ironic/drivers/modules/ibmc/power.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:443: copying ironic/drivers/modules/ibmc/raid.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:443: copying ironic/drivers/modules/ibmc/utils.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:443: copying ironic/drivers/modules/ibmc/vendor.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:443: copying ironic/tests/__init__.py -> build/lib/ironic/tests DEBUG util.py:443: copying ironic/tests/base.py -> build/lib/ironic/tests DEBUG util.py:443: creating build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/__init__.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/agent.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/anaconda.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/ansible.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/api.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/audit.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/auth.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/cinder.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/conductor.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/console.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/database.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/default.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/deploy.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/dhcp.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/dnsmasq.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/drac.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/fake.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/glance.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/healthcheck.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/ibmc.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/ilo.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/inspector.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/inventory.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/ipmi.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/irmc.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/metrics.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/metrics_statsd.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/molds.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/neutron.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/nova.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/opts.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/pxe.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/redfish.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/sensor_data.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/service_catalog.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/snmp.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/swift.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/conf/xclarity.py -> build/lib/ironic/conf DEBUG util.py:443: copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers DEBUG util.py:443: copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: copying ironic/tests/unit/db/__init__.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/base.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_allocations.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_api.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_bios_settings.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_chassis.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_conductor.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_deploy_templates.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_firmware_component.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_node_history.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_node_inventory.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_node_tags.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_node_traits.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_nodes.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_portgroups.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_ports.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_shard.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_volume_connectors.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/test_volume_targets.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/db/utils.py -> build/lib/ironic/tests/unit/db DEBUG util.py:443: copying ironic/tests/unit/drivers/__init__.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_base.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_drac.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_fake_hardware.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_generic.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_ibmc.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_ilo.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_ipmi.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_irmc.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_redfish.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_snmp.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_utils.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/test_xclarity.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: creating build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/__init__.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/allocations.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/cleaning.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/deployments.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/inspection.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/manager.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/notification_utils.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/periodics.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/rpc_service.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/rpcapi.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/servicing.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/steps.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/task_manager.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/utils.py -> build/lib/ironic/conductor DEBUG util.py:443: copying ironic/conductor/verify.py -> build/lib/ironic/conductor DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/test_agent.py -> build/lib/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/test_client.py -> build/lib/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/inspector/test_interface.py -> build/lib/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: creating build/lib/ironic/common DEBUG util.py:443: copying ironic/common/__init__.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/args.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/boot_devices.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/boot_modes.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/cinder.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/components.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/config.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/context.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/dhcp_factory.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/driver_factory.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/exception.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/faults.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/fsm.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/hash_ring.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/i18n.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/image_publisher.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/image_service.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/images.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/indicator_states.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/keystone.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/kickstart_utils.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/molds.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/network.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/neutron.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/nova.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/policy.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/profiler.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/pxe_utils.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/raid.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/release_mappings.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/rpc.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/rpc_service.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/service.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/states.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/swift.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/utils.py -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/wsgi_service.py -> build/lib/ironic/common DEBUG util.py:443: creating build/lib/ironic/db DEBUG util.py:443: copying ironic/db/__init__.py -> build/lib/ironic/db DEBUG util.py:443: copying ironic/db/api.py -> build/lib/ironic/db DEBUG util.py:443: copying ironic/db/migration.py -> build/lib/ironic/db DEBUG util.py:443: creating build/lib/ironic/api DEBUG util.py:443: copying ironic/api/__init__.py -> build/lib/ironic/api DEBUG util.py:443: copying ironic/api/app.py -> build/lib/ironic/api DEBUG util.py:443: copying ironic/api/config.py -> build/lib/ironic/api DEBUG util.py:443: copying ironic/api/functions.py -> build/lib/ironic/api DEBUG util.py:443: copying ironic/api/hooks.py -> build/lib/ironic/api DEBUG util.py:443: copying ironic/api/method.py -> build/lib/ironic/api DEBUG util.py:443: copying ironic/api/wsgi.py -> build/lib/ironic/api DEBUG util.py:443: creating build/lib/ironic/api/controllers DEBUG util.py:443: copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers DEBUG util.py:443: copying ironic/api/controllers/base.py -> build/lib/ironic/api/controllers DEBUG util.py:443: copying ironic/api/controllers/link.py -> build/lib/ironic/api/controllers DEBUG util.py:443: copying ironic/api/controllers/root.py -> build/lib/ironic/api/controllers DEBUG util.py:443: copying ironic/api/controllers/version.py -> build/lib/ironic/api/controllers DEBUG util.py:443: creating build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/__init__.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/allocation.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/bios.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/chassis.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/collection.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/conductor.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/deploy_template.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/driver.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/event.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/firmware.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/node.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/notification_utils.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/port.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/portgroup.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/ramdisk.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/shard.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/utils.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/versions.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/volume.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/volume_connector.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: copying ironic/api/controllers/v1/volume_target.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: creating build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/bios.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/boot.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/firmware.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/firmware_utils.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/inspect.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/management.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/power.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/raid.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: copying ironic/drivers/modules/redfish/vendor.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:443: creating build/lib/ironic/cmd DEBUG util.py:443: copying ironic/cmd/__init__.py -> build/lib/ironic/cmd DEBUG util.py:443: copying ironic/cmd/api.py -> build/lib/ironic/cmd DEBUG util.py:443: copying ironic/cmd/conductor.py -> build/lib/ironic/cmd DEBUG util.py:443: copying ironic/cmd/dbsync.py -> build/lib/ironic/cmd DEBUG util.py:443: copying ironic/cmd/pxe_filter.py -> build/lib/ironic/cmd DEBUG util.py:443: copying ironic/cmd/singleprocess.py -> build/lib/ironic/cmd DEBUG util.py:443: copying ironic/cmd/status.py -> build/lib/ironic/cmd DEBUG util.py:443: creating build/lib/ironic/drivers/modules/xclarity DEBUG util.py:443: copying ironic/drivers/modules/xclarity/__init__.py -> build/lib/ironic/drivers/modules/xclarity DEBUG util.py:443: copying ironic/drivers/modules/xclarity/common.py -> build/lib/ironic/drivers/modules/xclarity DEBUG util.py:443: copying ironic/drivers/modules/xclarity/management.py -> build/lib/ironic/drivers/modules/xclarity DEBUG util.py:443: copying ironic/drivers/modules/xclarity/power.py -> build/lib/ironic/drivers/modules/xclarity DEBUG util.py:443: copying ironic/drivers/modules/inspector/__init__.py -> build/lib/ironic/drivers/modules/inspector DEBUG util.py:443: copying ironic/drivers/modules/inspector/agent.py -> build/lib/ironic/drivers/modules/inspector DEBUG util.py:443: copying ironic/drivers/modules/inspector/client.py -> build/lib/ironic/drivers/modules/inspector DEBUG util.py:443: copying ironic/drivers/modules/inspector/interface.py -> build/lib/ironic/drivers/modules/inspector DEBUG util.py:443: copying ironic/drivers/modules/inspector/lldp_parsers.py -> build/lib/ironic/drivers/modules/inspector DEBUG util.py:443: copying ironic/drivers/modules/inspector/lldp_tlvs.py -> build/lib/ironic/drivers/modules/inspector DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible DEBUG util.py:443: copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible DEBUG util.py:443: copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible DEBUG util.py:443: creating build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/__init__.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/mgr_utils.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_allocations.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_base_manager.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_cleaning.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_deployments.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_inspection.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_manager.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_periodics.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_rpc_service.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_rpcapi.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_servicing.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_steps.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_task_manager.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_utils.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/conductor/test_verify.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:443: copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit DEBUG util.py:443: copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit DEBUG util.py:443: copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit DEBUG util.py:443: copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit DEBUG util.py:443: copying ironic/tests/unit/test_base.py -> build/lib/ironic/tests/unit DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_agent.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_agent_base.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_agent_client.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_agent_power.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_console_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_image_cache.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_image_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_ipxe.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_pxe.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_ramdisk.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:443: creating build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/__init__.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_allocation.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_bios.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_chassis.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_conductor.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_deploy_template.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_deployment.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_fields.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_firmware.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_node.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_node_history.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_node_inventory.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_notification.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_objects.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_port.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_portgroup.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_trait.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_volume_connector.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/test_volume_target.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: copying ironic/tests/unit/objects/utils.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:443: creating build/lib/ironic/common/glance_service DEBUG util.py:443: copying ironic/common/glance_service/__init__.py -> build/lib/ironic/common/glance_service DEBUG util.py:443: copying ironic/common/glance_service/image_service.py -> build/lib/ironic/common/glance_service DEBUG util.py:443: copying ironic/common/glance_service/service_utils.py -> build/lib/ironic/common/glance_service DEBUG util.py:443: creating build/lib/ironic/tests/unit/conf DEBUG util.py:443: copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf DEBUG util.py:443: copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf DEBUG util.py:443: creating build/lib/ironic/api/middleware DEBUG util.py:443: copying ironic/api/middleware/__init__.py -> build/lib/ironic/api/middleware DEBUG util.py:443: copying ironic/api/middleware/auth_public_routes.py -> build/lib/ironic/api/middleware DEBUG util.py:443: copying ironic/api/middleware/json_ext.py -> build/lib/ironic/api/middleware DEBUG util.py:443: copying ironic/api/middleware/parsable_error.py -> build/lib/ironic/api/middleware DEBUG util.py:443: creating build/lib/ironic/db/sqlalchemy DEBUG util.py:443: copying ironic/db/sqlalchemy/__init__.py -> build/lib/ironic/db/sqlalchemy DEBUG util.py:443: copying ironic/db/sqlalchemy/api.py -> build/lib/ironic/db/sqlalchemy DEBUG util.py:443: copying ironic/db/sqlalchemy/migration.py -> build/lib/ironic/db/sqlalchemy DEBUG util.py:443: copying ironic/db/sqlalchemy/models.py -> build/lib/ironic/db/sqlalchemy DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: creating build/lib/ironic/tests/unit/pxe_filter DEBUG util.py:443: copying ironic/tests/unit/pxe_filter/__init__.py -> build/lib/ironic/tests/unit/pxe_filter DEBUG util.py:443: copying ironic/tests/unit/pxe_filter/test_dnsmasq.py -> build/lib/ironic/tests/unit/pxe_filter DEBUG util.py:443: copying ironic/tests/unit/pxe_filter/test_service.py -> build/lib/ironic/tests/unit/pxe_filter DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/__init__.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/bios.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/boot.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/common.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/console.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/inspect.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/management.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/power.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/raid.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/modules/ilo/vendor.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:443: copying ironic/drivers/__init__.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/base.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/drac.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/generic.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/ibmc.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/ilo.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/intel_ipmi.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/irmc.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/redfish.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/snmp.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/utils.py -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/drivers/xclarity.py -> build/lib/ironic/drivers DEBUG util.py:443: creating build/lib/ironic/drivers/modules/network DEBUG util.py:443: copying ironic/drivers/modules/network/__init__.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:443: copying ironic/drivers/modules/network/common.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:443: copying ironic/drivers/modules/network/flat.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:443: copying ironic/drivers/modules/network/neutron.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:443: copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:443: copying ironic/tests/unit/api/__init__.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/base.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_acl.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_audit.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_functions.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_healthcheck.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_hooks.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_method.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_middleware.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_ospmiddleware.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_proxy_middleware.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_root.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/utils.py -> build/lib/ironic/tests/unit/api DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ibmc/base.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: creating build/lib/ironic/tests/unit/cmd DEBUG util.py:443: copying ironic/tests/unit/cmd/__init__.py -> build/lib/ironic/tests/unit/cmd DEBUG util.py:443: copying ironic/tests/unit/cmd/test_conductor.py -> build/lib/ironic/tests/unit/cmd DEBUG util.py:443: copying ironic/tests/unit/cmd/test_dbsync.py -> build/lib/ironic/tests/unit/cmd DEBUG util.py:443: copying ironic/tests/unit/cmd/test_status.py -> build/lib/ironic/tests/unit/cmd DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_job.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/drac/utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: creating build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/__init__.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/allocation.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/base.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/bios.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/chassis.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/conductor.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/deploy_template.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/deployment.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/fields.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/firmware.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/indirection.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/node.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/node_history.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/node_inventory.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/notification.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/port.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/portgroup.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/trait.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/volume_connector.py -> build/lib/ironic/objects DEBUG util.py:443: copying ironic/objects/volume_target.py -> build/lib/ironic/objects DEBUG util.py:443: creating build/lib/ironic/pxe_filter DEBUG util.py:443: copying ironic/pxe_filter/__init__.py -> build/lib/ironic/pxe_filter DEBUG util.py:443: copying ironic/pxe_filter/dnsmasq.py -> build/lib/ironic/pxe_filter DEBUG util.py:443: copying ironic/pxe_filter/service.py -> build/lib/ironic/pxe_filter DEBUG util.py:443: running egg_info DEBUG util.py:443: writing ironic.egg-info/PKG-INFO DEBUG util.py:443: writing dependency_links to ironic.egg-info/dependency_links.txt DEBUG util.py:443: writing entry points to ironic.egg-info/entry_points.txt DEBUG util.py:443: writing requirements to ironic.egg-info/requires.txt DEBUG util.py:443: writing top-level names to ironic.egg-info/top_level.txt DEBUG util.py:443: writing pbr to ironic.egg-info/pbr.json DEBUG util.py:443: [pbr] Processing SOURCES.txt DEBUG util.py:443: [pbr] In git context, generating filelist from git DEBUG util.py:443: warning: no previously-included files found matching '.gitignore' DEBUG util.py:443: warning: no previously-included files found matching '.gitreview' DEBUG util.py:443: warning: no previously-included files matching '*.pyc' found anywhere in distribution DEBUG util.py:443: adding license file 'LICENSE' DEBUG util.py:443: adding license file 'AUTHORS' DEBUG util.py:443: writing manifest file 'ironic.egg-info/SOURCES.txt' DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.db.sqlalchemy.alembic' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.db.sqlalchemy.alembic' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.db.sqlalchemy.alembic' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.db.sqlalchemy.alembic' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.db.sqlalchemy.alembic.versions' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.db.sqlalchemy.alembic.versions' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.db.sqlalchemy.alembic.versions' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.db.sqlalchemy.alembic.versions' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.callback_plugins' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.callback_plugins' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.callback_plugins' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.callback_plugins' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.library' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.library' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.library' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.library' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.clean.defaults' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.clean.defaults' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.roles.clean.defaults' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.roles.clean.defaults' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.clean.tasks' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.clean.tasks' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.roles.clean.tasks' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.roles.clean.tasks' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.configure.defaults' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.configure.defaults' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.roles.configure.defaults' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.roles.configure.defaults' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.configure.tasks' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.configure.tasks' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.roles.configure.tasks' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.roles.configure.tasks' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.deploy.files' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.deploy.files' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.roles.deploy.files' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.roles.deploy.files' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.deploy.tasks' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.deploy.tasks' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.roles.deploy.tasks' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.roles.deploy.tasks' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.discover.tasks' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.discover.tasks' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.roles.discover.tasks' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.roles.discover.tasks' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.prepare.tasks' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.prepare.tasks' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.roles.prepare.tasks' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.roles.prepare.tasks' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.shutdown.tasks' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.shutdown.tasks' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.drivers.modules.ansible.playbooks.roles.shutdown.tasks' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.drivers.modules.ansible.playbooks.roles.shutdown.tasks' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.tests.json_samples' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.tests.json_samples' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.tests.json_samples' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.tests.json_samples' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.tests.unit.common.drive_samples' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.tests.unit.common.drive_samples' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.tests.unit.common.drive_samples' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.tests.unit.common.drive_samples' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.tests.unit.common.json_samples' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.tests.unit.common.json_samples' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.tests.unit.common.json_samples' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.tests.unit.common.json_samples' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.tests.unit.drivers.modules.network.json_samples' as data is deprecated, please list it in `packages`. DEBUG util.py:443: !! DEBUG util.py:443: ############################ DEBUG util.py:443: # Package would be ignored # DEBUG util.py:443: ############################ DEBUG util.py:443: Python recognizes 'ironic.tests.unit.drivers.modules.network.json_samples' as an importable package, DEBUG util.py:443: but it is not listed in the `packages` configuration of setuptools. DEBUG util.py:443: 'ironic.tests.unit.drivers.modules.network.json_samples' has been automatically added to the distribution only DEBUG util.py:443: because it may contain data files, but this behavior is likely to change DEBUG util.py:443: in future versions of setuptools (and therefore is considered deprecated). DEBUG util.py:443: Please make sure that 'ironic.tests.unit.drivers.modules.network.json_samples' is included as a package by using DEBUG util.py:443: the `packages` configuration field or the proper discovery methods DEBUG util.py:443: (for example by using `find_namespace_packages(...)`/`find_namespace:` DEBUG util.py:443: instead of `find_packages(...)`/`find:`). DEBUG util.py:443: You can read more about "package discovery" and "data files" on setuptools DEBUG util.py:443: documentation page. DEBUG util.py:443: !! DEBUG util.py:443: check.warn(importable) DEBUG util.py:443: copying ironic/drivers/modules/inspector/hooks/known_accelerators.yaml -> build/lib/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: creating build/lib/ironic/tests/unit/common/drive_samples DEBUG util.py:443: copying ironic/tests/unit/common/drive_samples/config_drive -> build/lib/ironic/tests/unit/common/drive_samples DEBUG util.py:443: creating build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying ironic/drivers/modules/boot.ipxe -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/initial_grub_cfg.template -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/ks.cfg.template -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:443: copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> build/lib/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:443: creating build/lib/ironic/tests/json_samples DEBUG util.py:443: copying ironic/tests/json_samples/network_data.json -> build/lib/ironic/tests/json_samples DEBUG util.py:443: copying ironic/tests/unit/drivers/boot-fallback.ipxe -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/boot.ipxe -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/pxe_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying ironic/common/grub_conf.template -> build/lib/ironic/common DEBUG util.py:443: copying ironic/common/isolinux_config.template -> build/lib/ironic/common DEBUG util.py:443: copying ironic/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/inventory -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:443: 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:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:443: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:443: copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic.ini -> build/lib/ironic/db/sqlalchemy DEBUG util.py:443: creating build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/README -> build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/env.py -> build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/script.py.mako -> build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:443: creating build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/01f21d5e5195_increase_length_of_user_column.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/0ac0f39bc5aa_add_node_inventory_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/163040c5513f_add_firmware_information.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/4dbec778866e_create_node_shard.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: 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:443: copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/aa2384fee727_add_service_steps.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/d163df1bab88_remove_extra_fk_constraint_in_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/db/sqlalchemy/alembic/versions/fe222f476baf_add_parent_node_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying ironic/drivers/raid_config_schema.json -> build/lib/ironic/drivers DEBUG util.py:443: copying ironic/tests/unit/api/test_acl_basic.yaml -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_rbac_legacy.yaml -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> build/lib/ironic/tests/unit/api DEBUG util.py:443: copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> build/lib/ironic/tests/unit/api DEBUG util.py:443: installing to build/bdist.linux-x86_64/wheel DEBUG util.py:443: running install DEBUG util.py:443: [pbr] Writing ChangeLog DEBUG util.py:443: [pbr] Generating ChangeLog DEBUG util.py:443: [pbr] ChangeLog complete (0.0s) DEBUG util.py:443: [pbr] Generating AUTHORS DEBUG util.py:443: [pbr] AUTHORS complete (0.0s) DEBUG util.py:443: running install_lib DEBUG util.py:443: creating build/bdist.linux-x86_64 DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/pxe_filter DEBUG util.py:443: copying build/lib/ironic/pxe_filter/service.py -> build/bdist.linux-x86_64/wheel/ironic/pxe_filter DEBUG util.py:443: copying build/lib/ironic/pxe_filter/dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/pxe_filter DEBUG util.py:443: copying build/lib/ironic/pxe_filter/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/pxe_filter DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/volume_target.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/volume_connector.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/trait.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/portgroup.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/port.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/notification.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/node_inventory.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/node_history.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/node.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/indirection.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/firmware.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/fields.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/deployment.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/deploy_template.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/conductor.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/chassis.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/bios.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/base.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/allocation.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: copying build/lib/ironic/objects/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/objects DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/cmd DEBUG util.py:443: copying build/lib/ironic/cmd/status.py -> build/bdist.linux-x86_64/wheel/ironic/cmd DEBUG util.py:443: copying build/lib/ironic/cmd/singleprocess.py -> build/bdist.linux-x86_64/wheel/ironic/cmd DEBUG util.py:443: copying build/lib/ironic/cmd/pxe_filter.py -> build/bdist.linux-x86_64/wheel/ironic/cmd DEBUG util.py:443: copying build/lib/ironic/cmd/dbsync.py -> build/bdist.linux-x86_64/wheel/ironic/cmd DEBUG util.py:443: copying build/lib/ironic/cmd/conductor.py -> build/bdist.linux-x86_64/wheel/ironic/cmd DEBUG util.py:443: copying build/lib/ironic/cmd/api.py -> build/bdist.linux-x86_64/wheel/ironic/cmd DEBUG util.py:443: copying build/lib/ironic/cmd/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/cmd DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/api DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/api/middleware DEBUG util.py:443: copying build/lib/ironic/api/middleware/parsable_error.py -> build/bdist.linux-x86_64/wheel/ironic/api/middleware DEBUG util.py:443: copying build/lib/ironic/api/middleware/json_ext.py -> build/bdist.linux-x86_64/wheel/ironic/api/middleware DEBUG util.py:443: copying build/lib/ironic/api/middleware/auth_public_routes.py -> build/bdist.linux-x86_64/wheel/ironic/api/middleware DEBUG util.py:443: copying build/lib/ironic/api/middleware/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/api/middleware DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/api/controllers DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/network-data-schema.json -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/volume_target.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/volume_connector.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/volume.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/versions.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/utils.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/shard.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/ramdisk.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/portgroup.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/port.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/notification_utils.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/node.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/firmware.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/event.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/driver.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/deploy_template.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/conductor.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/collection.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/chassis.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/bios.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/allocation.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/v1/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/api/controllers/version.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers DEBUG util.py:443: copying build/lib/ironic/api/controllers/root.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers DEBUG util.py:443: copying build/lib/ironic/api/controllers/link.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers DEBUG util.py:443: copying build/lib/ironic/api/controllers/base.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers DEBUG util.py:443: copying build/lib/ironic/api/controllers/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers DEBUG util.py:443: copying build/lib/ironic/api/wsgi.py -> build/bdist.linux-x86_64/wheel/ironic/api DEBUG util.py:443: copying build/lib/ironic/api/method.py -> build/bdist.linux-x86_64/wheel/ironic/api DEBUG util.py:443: copying build/lib/ironic/api/hooks.py -> build/bdist.linux-x86_64/wheel/ironic/api DEBUG util.py:443: copying build/lib/ironic/api/functions.py -> build/bdist.linux-x86_64/wheel/ironic/api DEBUG util.py:443: copying build/lib/ironic/api/config.py -> build/bdist.linux-x86_64/wheel/ironic/api DEBUG util.py:443: copying build/lib/ironic/api/app.py -> build/bdist.linux-x86_64/wheel/ironic/api DEBUG util.py:443: copying build/lib/ironic/api/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/api DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/db DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/fe222f476baf_add_parent_node_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/d163df1bab88_remove_extra_fk_constraint_in_.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/aa2384fee727_add_service_steps.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/4dbec778866e_create_node_shard.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/163040c5513f_add_firmware_information.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/0ac0f39bc5aa_add_node_inventory_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/versions/01f21d5e5195_increase_length_of_user_column.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/script.py.mako -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/env.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic/README -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/alembic.ini -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/models.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/migration.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/api.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/db/sqlalchemy/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/db/migration.py -> build/bdist.linux-x86_64/wheel/ironic/db DEBUG util.py:443: copying build/lib/ironic/db/api.py -> build/bdist.linux-x86_64/wheel/ironic/db DEBUG util.py:443: copying build/lib/ironic/db/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/db DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/isolinux_config.template -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/grub_conf.template -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/common/glance_service DEBUG util.py:443: copying build/lib/ironic/common/glance_service/service_utils.py -> build/bdist.linux-x86_64/wheel/ironic/common/glance_service DEBUG util.py:443: copying build/lib/ironic/common/glance_service/image_service.py -> build/bdist.linux-x86_64/wheel/ironic/common/glance_service DEBUG util.py:443: copying build/lib/ironic/common/glance_service/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/common/glance_service DEBUG util.py:443: copying build/lib/ironic/common/wsgi_service.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/utils.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/swift.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/states.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/service.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/rpc_service.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/rpc.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/release_mappings.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/raid.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/pxe_utils.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/profiler.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/policy.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/nova.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/neutron.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/network.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/molds.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/kickstart_utils.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/keystone.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/indicator_states.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/images.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/image_service.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/image_publisher.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/i18n.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/hash_ring.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/fsm.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/faults.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/exception.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/driver_factory.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/dhcp_factory.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/context.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/config.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/components.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/cinder.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/boot_modes.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/boot_devices.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/args.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: copying build/lib/ironic/common/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/common DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/verify.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/utils.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/task_manager.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/steps.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/servicing.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/rpcapi.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/rpc_service.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/periodics.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/notification_utils.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/manager.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/inspection.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/deployments.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/cleaning.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/base_manager.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/allocations.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: copying build/lib/ironic/conductor/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/conductor DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/xclarity.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/swift.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/snmp.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/service_catalog.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/sensor_data.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/redfish.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/pxe.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/opts.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/nova.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/neutron.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/molds.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/metrics_statsd.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/metrics.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/irmc.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/inventory.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/inspector.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/ilo.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/ibmc.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/healthcheck.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/glance.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/fake.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/drac.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/dhcp.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/deploy.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/default.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/database.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/console.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/conductor.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/cinder.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/auth.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/audit.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/api.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/ansible.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/anaconda.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/agent.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: copying build/lib/ironic/conf/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/conf DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/dhcp DEBUG util.py:443: copying build/lib/ironic/dhcp/none.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp DEBUG util.py:443: copying build/lib/ironic/dhcp/neutron.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp DEBUG util.py:443: copying build/lib/ironic/dhcp/dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp DEBUG util.py:443: copying build/lib/ironic/dhcp/base.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp DEBUG util.py:443: copying build/lib/ironic/dhcp/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/hacking DEBUG util.py:443: copying build/lib/ironic/hacking/checks.py -> build/bdist.linux-x86_64/wheel/ironic/hacking DEBUG util.py:443: copying build/lib/ironic/hacking/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/hacking DEBUG util.py:443: copying build/lib/ironic/version.py -> build/bdist.linux-x86_64/wheel/ironic DEBUG util.py:443: copying build/lib/ironic/__init__.py -> build/bdist.linux-x86_64/wheel/ironic DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/raid_config_schema.json -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/xclarity.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/snmp.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/redfish.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/irmc.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/intel_ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/ilo.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/ibmc.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/hardware_type.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/generic.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/fake_hardware.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/drac.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/base.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: copying build/lib/ironic/drivers/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/pxe_config.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ks.cfg.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ipxe_config.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/initial_grub_cfg.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/boot.ipxe -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network DEBUG util.py:443: copying build/lib/ironic/drivers/modules/network/noop.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network DEBUG util.py:443: copying build/lib/ironic/drivers/modules/network/neutron.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network DEBUG util.py:443: copying build/lib/ironic/drivers/modules/network/flat.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network DEBUG util.py:443: copying build/lib/ironic/drivers/modules/network/common.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network DEBUG util.py:443: copying build/lib/ironic/drivers/modules/network/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/vendor.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/raid.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/inspect.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/firmware_processor.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/console.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/common.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/boot.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/bios.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ilo/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/inventory -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/clean.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/ansible.cfg -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/deploy.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ansible/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/xclarity DEBUG util.py:443: copying build/lib/ironic/drivers/modules/xclarity/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/xclarity DEBUG util.py:443: copying build/lib/ironic/drivers/modules/xclarity/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/xclarity DEBUG util.py:443: copying build/lib/ironic/drivers/modules/xclarity/common.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/xclarity DEBUG util.py:443: copying build/lib/ironic/drivers/modules/xclarity/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/xclarity DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/vendor.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/raid.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/inspect.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/firmware_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/firmware.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/boot.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/bios.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/drivers/modules/redfish/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ibmc/vendor.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ibmc/utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ibmc/raid.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ibmc/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ibmc/mappings.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ibmc/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ibmc/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ibmc DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage DEBUG util.py:443: copying build/lib/ironic/drivers/modules/storage/noop.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage DEBUG util.py:443: copying build/lib/ironic/drivers/modules/storage/external.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage DEBUG util.py:443: copying build/lib/ironic/drivers/modules/storage/cinder.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage DEBUG util.py:443: copying build/lib/ironic/drivers/modules/storage/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/irmc/vendor.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/irmc/raid.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/irmc/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/irmc/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/irmc/inspect.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/irmc/common.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/irmc/boot.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/irmc/bios.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/irmc/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/drivers/modules/snmp.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ramdisk.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/pxe_base.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/pxe.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/noop_mgmt.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/noop.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ipxe.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/ipmitool.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspect_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/image_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/image_cache.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/fake.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/deploy_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/console_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/boot_mode_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/agent_power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/agent_client.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/agent_base.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/agent.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: copying build/lib/ironic/drivers/modules/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/intel_ipmi DEBUG util.py:443: copying build/lib/ironic/drivers/modules/intel_ipmi/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/intel_ipmi DEBUG util.py:443: copying build/lib/ironic/drivers/modules/intel_ipmi/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/intel_ipmi DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/vendor_passthru.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/raid.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/job.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/inspect.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/common.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/boot.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/bios.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/drivers/modules/drac/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/lldp_tlvs.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/lldp_parsers.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/interface.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/client.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/agent.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/known_accelerators.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/validate_interfaces.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/root_device.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/ramdisk_error.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/raid_device.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/ports.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/physical_network.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/pci_devices.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/parse_lldp.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/memory.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/local_link_connection.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/extra_hardware.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/cpu_capabilities.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/boot_mode.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/base.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/architecture.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/accelerators.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/drivers/modules/inspector/hooks/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/json_samples/network_data.json -> build/bdist.linux-x86_64/wheel/ironic/tests/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/base.py -> build/bdist.linux-x86_64/wheel/ironic/tests DEBUG util.py:443: copying build/lib/ironic/tests/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/cmd DEBUG util.py:443: copying build/lib/ironic/tests/unit/cmd/test_status.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/cmd DEBUG util.py:443: copying build/lib/ironic/tests/unit/cmd/test_dbsync.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/cmd DEBUG util.py:443: copying build/lib/ironic/tests/unit/cmd/test_conductor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/cmd DEBUG util.py:443: copying build/lib/ironic/tests/unit/cmd/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/cmd DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/pxe_filter DEBUG util.py:443: copying build/lib/ironic/tests/unit/pxe_filter/test_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/pxe_filter DEBUG util.py:443: copying build/lib/ironic/tests/unit/pxe_filter/test_dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/pxe_filter DEBUG util.py:443: copying build/lib/ironic/tests/unit/pxe_filter/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/pxe_filter DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/conf DEBUG util.py:443: copying build/lib/ironic/tests/unit/conf/test_auth.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conf DEBUG util.py:443: copying build/lib/ironic/tests/unit/conf/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conf DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_volume_target.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_volume_connector.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_trait.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_portgroup.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_port.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_objects.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_notification.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_node_inventory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_node_history.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_node.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_firmware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_fields.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_deployment.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_deploy_template.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_conductor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_chassis.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_bios.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/test_allocation.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/objects/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects DEBUG util.py:443: copying build/lib/ironic/tests/unit/test_base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit DEBUG util.py:443: copying build/lib/ironic/tests/unit/stubs.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit DEBUG util.py:443: copying build/lib/ironic/tests/unit/raid_constants.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit DEBUG util.py:443: copying build/lib/ironic/tests/unit/policy_fixture.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit DEBUG util.py:443: copying build/lib/ironic/tests/unit/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_verify.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_task_manager.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_steps.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_servicing.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_rpcapi.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_rpc_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_periodics.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_notification_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_manager.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_inspection.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_deployments.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_cleaning.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_base_manager.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/test_allocations.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/mgr_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: copying build/lib/ironic/tests/unit/conductor/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_rbac_system_scoped.yaml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_rbac_project_scoped.yaml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_rbac_legacy.yaml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_acl_basic.yaml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_root.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_proxy_middleware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_ospmiddleware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_middleware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_method.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_hooks.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_healthcheck.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_functions.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_audit.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/test_acl.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/test_base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_versions.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_shard.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_root.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_portgroup.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_port.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_node.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_event.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_driver.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_conductor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_collection.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_chassis.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/test_allocation.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: copying build/lib/ironic/tests/unit/api/controllers/v1/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/pxe_grub_config.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/pxe_config.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ks_missing_var.tmpl -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ks_extra_vars.tmpl -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/ipxe_config.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/boot.ipxe -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/boot-fallback.ipxe -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_xclarity.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_snmp.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_redfish.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_irmc.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_ilo.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_ibmc.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_generic.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_fake_hardware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_drac.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/test_base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_job.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_inspect.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_common.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_boot.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_bios.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/drac/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_snmp.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_ramdisk.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_pxe.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_noop.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_ipxe.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_inspect_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_image_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_image_cache.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_console_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_agent_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_agent_client.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_agent_base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/test_agent.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_bios.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/xclarity/test_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/xclarity/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/xclarity/test_common.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/test_interface.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/test_client.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/test_agent.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_validate_interfaces.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_root_device.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_ramdisk_error.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_raid_device.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_ports.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_physical_network.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_pci_devices.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_parse_lldp.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_memory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_extra_hardware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_cpu_capabilities.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_boot_mode.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_architecture.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_accelerators.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/network/test_noop.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/network/test_flat.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/network/test_common.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/network/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_firmware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_boot.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_bios.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/storage DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/storage/test_external.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/storage DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/storage DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/storage/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/storage DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_console.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_bios.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: copying build/lib/ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp DEBUG util.py:443: copying build/lib/ironic/tests/unit/dhcp/test_neutron.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp DEBUG util.py:443: copying build/lib/ironic/tests/unit/dhcp/test_factory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp DEBUG util.py:443: copying build/lib/ironic/tests/unit/dhcp/test_dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp DEBUG util.py:443: copying build/lib/ironic/tests/unit/dhcp/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_volume_targets.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_volume_connectors.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_shard.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_ports.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_portgroups.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_nodes.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_node_traits.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_node_tags.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_node_inventory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_node_history.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_firmware_component.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_deploy_templates.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_conductor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_chassis.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_bios_settings.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_api.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/test_allocations.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/sqlalchemy/test_types.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/sqlalchemy/test_models.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/sqlalchemy/test_api.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: copying build/lib/ironic/tests/unit/db/sqlalchemy/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/drive_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/drive_samples/config_drive -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/drive_samples DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_wsgi_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_swift.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_states.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_rpc.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_release_mappings.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_pxe_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_policy.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_nova.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_neutron.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_network.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_molds.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_kickstart_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_keystone.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_images.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_image_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_image_publisher.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_hash_ring.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_glance_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_fsm.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_driver_factory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_context.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_cinder.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/test_args.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: copying build/lib/ironic/tests/unit/common/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic/tests/functional DEBUG util.py:443: copying build/lib/ironic/tests/functional/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/functional DEBUG util.py:443: running install_data DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106.data DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106.data/data DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106.data/data/etc DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106.data/data/etc/ironic DEBUG util.py:443: copying etc/ironic/rootwrap.conf -> build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106.data/data/etc/ironic DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106.data/data/etc/ironic/rootwrap.d DEBUG util.py:443: copying etc/ironic/rootwrap.d/ironic-utils.filters -> build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106.data/data/etc/ironic/rootwrap.d/ DEBUG util.py:443: running install_egg_info DEBUG util.py:443: Copying ironic.egg-info to build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106-py3.9.egg-info DEBUG util.py:443: running install_scripts DEBUG util.py:443: Installing ironic-api-wsgi script to build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106.data/scripts DEBUG util.py:443: adding license file "LICENSE" (matched pattern "LICEN[CS]E*") DEBUG util.py:443: adding license file "AUTHORS" (matched pattern "AUTHORS*") DEBUG util.py:443: creating build/bdist.linux-x86_64/wheel/ironic-24.0.1.dev106.dist-info/WHEEL DEBUG util.py:443: creating '/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-wheel-bkopdmum/tmpnx00fnpf/ironic-24.0.1.dev106-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it DEBUG util.py:443: adding 'ironic/__init__.py' DEBUG util.py:443: adding 'ironic/version.py' DEBUG util.py:443: adding 'ironic/api/__init__.py' DEBUG util.py:443: adding 'ironic/api/app.py' DEBUG util.py:443: adding 'ironic/api/config.py' DEBUG util.py:443: adding 'ironic/api/functions.py' DEBUG util.py:443: adding 'ironic/api/hooks.py' DEBUG util.py:443: adding 'ironic/api/method.py' DEBUG util.py:443: adding 'ironic/api/wsgi.py' DEBUG util.py:443: adding 'ironic/api/controllers/__init__.py' DEBUG util.py:443: adding 'ironic/api/controllers/base.py' DEBUG util.py:443: adding 'ironic/api/controllers/link.py' DEBUG util.py:443: adding 'ironic/api/controllers/root.py' DEBUG util.py:443: adding 'ironic/api/controllers/version.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/__init__.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/allocation.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/bios.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/chassis.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/collection.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/conductor.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/deploy_template.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/driver.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/event.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/firmware.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/network-data-schema.json' DEBUG util.py:443: adding 'ironic/api/controllers/v1/node.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/notification_utils.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/port.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/portgroup.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/ramdisk.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/shard.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/utils.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/versions.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/volume.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/volume_connector.py' DEBUG util.py:443: adding 'ironic/api/controllers/v1/volume_target.py' DEBUG util.py:443: adding 'ironic/api/middleware/__init__.py' DEBUG util.py:443: adding 'ironic/api/middleware/auth_public_routes.py' DEBUG util.py:443: adding 'ironic/api/middleware/json_ext.py' DEBUG util.py:443: adding 'ironic/api/middleware/parsable_error.py' DEBUG util.py:443: adding 'ironic/cmd/__init__.py' DEBUG util.py:443: adding 'ironic/cmd/api.py' DEBUG util.py:443: adding 'ironic/cmd/conductor.py' DEBUG util.py:443: adding 'ironic/cmd/dbsync.py' DEBUG util.py:443: adding 'ironic/cmd/pxe_filter.py' DEBUG util.py:443: adding 'ironic/cmd/singleprocess.py' DEBUG util.py:443: adding 'ironic/cmd/status.py' DEBUG util.py:443: adding 'ironic/common/__init__.py' DEBUG util.py:443: adding 'ironic/common/args.py' DEBUG util.py:443: adding 'ironic/common/boot_devices.py' DEBUG util.py:443: adding 'ironic/common/boot_modes.py' DEBUG util.py:443: adding 'ironic/common/cinder.py' DEBUG util.py:443: adding 'ironic/common/components.py' DEBUG util.py:443: adding 'ironic/common/config.py' DEBUG util.py:443: adding 'ironic/common/context.py' DEBUG util.py:443: adding 'ironic/common/dhcp_factory.py' DEBUG util.py:443: adding 'ironic/common/driver_factory.py' DEBUG util.py:443: adding 'ironic/common/exception.py' DEBUG util.py:443: adding 'ironic/common/faults.py' DEBUG util.py:443: adding 'ironic/common/fsm.py' DEBUG util.py:443: adding 'ironic/common/grub_conf.template' DEBUG util.py:443: adding 'ironic/common/hash_ring.py' DEBUG util.py:443: adding 'ironic/common/i18n.py' DEBUG util.py:443: adding 'ironic/common/image_publisher.py' DEBUG util.py:443: adding 'ironic/common/image_service.py' DEBUG util.py:443: adding 'ironic/common/images.py' DEBUG util.py:443: adding 'ironic/common/indicator_states.py' DEBUG util.py:443: adding 'ironic/common/isolinux_config.template' DEBUG util.py:443: adding 'ironic/common/keystone.py' DEBUG util.py:443: adding 'ironic/common/kickstart_utils.py' DEBUG util.py:443: adding 'ironic/common/molds.py' DEBUG util.py:443: adding 'ironic/common/network.py' DEBUG util.py:443: adding 'ironic/common/neutron.py' DEBUG util.py:443: adding 'ironic/common/nova.py' DEBUG util.py:443: adding 'ironic/common/policy.py' DEBUG util.py:443: adding 'ironic/common/profiler.py' DEBUG util.py:443: adding 'ironic/common/pxe_utils.py' DEBUG util.py:443: adding 'ironic/common/raid.py' DEBUG util.py:443: adding 'ironic/common/release_mappings.py' DEBUG util.py:443: adding 'ironic/common/rpc.py' DEBUG util.py:443: adding 'ironic/common/rpc_service.py' DEBUG util.py:443: adding 'ironic/common/service.py' DEBUG util.py:443: adding 'ironic/common/states.py' DEBUG util.py:443: adding 'ironic/common/swift.py' DEBUG util.py:443: adding 'ironic/common/utils.py' DEBUG util.py:443: adding 'ironic/common/wsgi_service.py' DEBUG util.py:443: adding 'ironic/common/glance_service/__init__.py' DEBUG util.py:443: adding 'ironic/common/glance_service/image_service.py' DEBUG util.py:443: adding 'ironic/common/glance_service/service_utils.py' DEBUG util.py:443: adding 'ironic/conductor/__init__.py' DEBUG util.py:443: adding 'ironic/conductor/allocations.py' DEBUG util.py:443: adding 'ironic/conductor/base_manager.py' DEBUG util.py:443: adding 'ironic/conductor/cleaning.py' DEBUG util.py:443: adding 'ironic/conductor/deployments.py' DEBUG util.py:443: adding 'ironic/conductor/inspection.py' DEBUG util.py:443: adding 'ironic/conductor/manager.py' DEBUG util.py:443: adding 'ironic/conductor/notification_utils.py' DEBUG util.py:443: adding 'ironic/conductor/periodics.py' DEBUG util.py:443: adding 'ironic/conductor/rpc_service.py' DEBUG util.py:443: adding 'ironic/conductor/rpcapi.py' DEBUG util.py:443: adding 'ironic/conductor/servicing.py' DEBUG util.py:443: adding 'ironic/conductor/steps.py' DEBUG util.py:443: adding 'ironic/conductor/task_manager.py' DEBUG util.py:443: adding 'ironic/conductor/utils.py' DEBUG util.py:443: adding 'ironic/conductor/verify.py' DEBUG util.py:443: adding 'ironic/conf/__init__.py' DEBUG util.py:443: adding 'ironic/conf/agent.py' DEBUG util.py:443: adding 'ironic/conf/anaconda.py' DEBUG util.py:443: adding 'ironic/conf/ansible.py' DEBUG util.py:443: adding 'ironic/conf/api.py' DEBUG util.py:443: adding 'ironic/conf/audit.py' DEBUG util.py:443: adding 'ironic/conf/auth.py' DEBUG util.py:443: adding 'ironic/conf/cinder.py' DEBUG util.py:443: adding 'ironic/conf/conductor.py' DEBUG util.py:443: adding 'ironic/conf/console.py' DEBUG util.py:443: adding 'ironic/conf/database.py' DEBUG util.py:443: adding 'ironic/conf/default.py' DEBUG util.py:443: adding 'ironic/conf/deploy.py' DEBUG util.py:443: adding 'ironic/conf/dhcp.py' DEBUG util.py:443: adding 'ironic/conf/dnsmasq.py' DEBUG util.py:443: adding 'ironic/conf/drac.py' DEBUG util.py:443: adding 'ironic/conf/fake.py' DEBUG util.py:443: adding 'ironic/conf/glance.py' DEBUG util.py:443: adding 'ironic/conf/healthcheck.py' DEBUG util.py:443: adding 'ironic/conf/ibmc.py' DEBUG util.py:443: adding 'ironic/conf/ilo.py' DEBUG util.py:443: adding 'ironic/conf/inspector.py' DEBUG util.py:443: adding 'ironic/conf/inventory.py' DEBUG util.py:443: adding 'ironic/conf/ipmi.py' DEBUG util.py:443: adding 'ironic/conf/irmc.py' DEBUG util.py:443: adding 'ironic/conf/metrics.py' DEBUG util.py:443: adding 'ironic/conf/metrics_statsd.py' DEBUG util.py:443: adding 'ironic/conf/molds.py' DEBUG util.py:443: adding 'ironic/conf/neutron.py' DEBUG util.py:443: adding 'ironic/conf/nova.py' DEBUG util.py:443: adding 'ironic/conf/opts.py' DEBUG util.py:443: adding 'ironic/conf/pxe.py' DEBUG util.py:443: adding 'ironic/conf/redfish.py' DEBUG util.py:443: adding 'ironic/conf/sensor_data.py' DEBUG util.py:443: adding 'ironic/conf/service_catalog.py' DEBUG util.py:443: adding 'ironic/conf/snmp.py' DEBUG util.py:443: adding 'ironic/conf/swift.py' DEBUG util.py:443: adding 'ironic/conf/xclarity.py' DEBUG util.py:443: adding 'ironic/db/__init__.py' DEBUG util.py:443: adding 'ironic/db/api.py' DEBUG util.py:443: adding 'ironic/db/migration.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/__init__.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic.ini' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/api.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/migration.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/models.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/README' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/env.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/script.py.mako' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/01f21d5e5195_increase_length_of_user_column.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/0ac0f39bc5aa_add_node_inventory_table.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/163040c5513f_add_firmware_information.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/4dbec778866e_create_node_shard.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/aa2384fee727_add_service_steps.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/d163df1bab88_remove_extra_fk_constraint_in_.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py' DEBUG util.py:443: adding 'ironic/db/sqlalchemy/alembic/versions/fe222f476baf_add_parent_node_field.py' DEBUG util.py:443: adding 'ironic/dhcp/__init__.py' DEBUG util.py:443: adding 'ironic/dhcp/base.py' DEBUG util.py:443: adding 'ironic/dhcp/dnsmasq.py' DEBUG util.py:443: adding 'ironic/dhcp/neutron.py' DEBUG util.py:443: adding 'ironic/dhcp/none.py' DEBUG util.py:443: adding 'ironic/drivers/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/base.py' DEBUG util.py:443: adding 'ironic/drivers/drac.py' DEBUG util.py:443: adding 'ironic/drivers/fake_hardware.py' DEBUG util.py:443: adding 'ironic/drivers/generic.py' DEBUG util.py:443: adding 'ironic/drivers/hardware_type.py' DEBUG util.py:443: adding 'ironic/drivers/ibmc.py' DEBUG util.py:443: adding 'ironic/drivers/ilo.py' DEBUG util.py:443: adding 'ironic/drivers/intel_ipmi.py' DEBUG util.py:443: adding 'ironic/drivers/ipmi.py' DEBUG util.py:443: adding 'ironic/drivers/irmc.py' DEBUG util.py:443: adding 'ironic/drivers/raid_config_schema.json' DEBUG util.py:443: adding 'ironic/drivers/redfish.py' DEBUG util.py:443: adding 'ironic/drivers/snmp.py' DEBUG util.py:443: adding 'ironic/drivers/utils.py' DEBUG util.py:443: adding 'ironic/drivers/xclarity.py' DEBUG util.py:443: adding 'ironic/drivers/modules/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/agent.py' DEBUG util.py:443: adding 'ironic/drivers/modules/agent_base.py' DEBUG util.py:443: adding 'ironic/drivers/modules/agent_client.py' DEBUG util.py:443: adding 'ironic/drivers/modules/agent_power.py' DEBUG util.py:443: adding 'ironic/drivers/modules/boot.ipxe' DEBUG util.py:443: adding 'ironic/drivers/modules/boot_mode_utils.py' DEBUG util.py:443: adding 'ironic/drivers/modules/console_utils.py' DEBUG util.py:443: adding 'ironic/drivers/modules/deploy_utils.py' DEBUG util.py:443: adding 'ironic/drivers/modules/fake.py' DEBUG util.py:443: adding 'ironic/drivers/modules/image_cache.py' DEBUG util.py:443: adding 'ironic/drivers/modules/image_utils.py' DEBUG util.py:443: adding 'ironic/drivers/modules/initial_grub_cfg.template' DEBUG util.py:443: adding 'ironic/drivers/modules/inspect_utils.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ipmitool.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ipxe.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ipxe_config.template' DEBUG util.py:443: adding 'ironic/drivers/modules/ks.cfg.template' DEBUG util.py:443: adding 'ironic/drivers/modules/noop.py' DEBUG util.py:443: adding 'ironic/drivers/modules/noop_mgmt.py' DEBUG util.py:443: adding 'ironic/drivers/modules/pxe.py' DEBUG util.py:443: adding 'ironic/drivers/modules/pxe_base.py' DEBUG util.py:443: adding 'ironic/drivers/modules/pxe_config.template' DEBUG util.py:443: adding 'ironic/drivers/modules/pxe_grub_config.template' DEBUG util.py:443: adding 'ironic/drivers/modules/ramdisk.py' DEBUG util.py:443: adding 'ironic/drivers/modules/snmp.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/deploy.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/ansible.cfg' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/clean.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/clean_steps.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/deploy.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/inventory' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/shutdown.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/library/root_hints.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/library/stream_url.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/bios.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/boot.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/common.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/inspect.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/job.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/management.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/power.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/raid.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/utils.py' DEBUG util.py:443: adding 'ironic/drivers/modules/drac/vendor_passthru.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ibmc/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ibmc/management.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ibmc/mappings.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ibmc/power.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ibmc/raid.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ibmc/utils.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ibmc/vendor.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/bios.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/boot.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/common.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/console.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/firmware_processor.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/inspect.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/management.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/power.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/raid.py' DEBUG util.py:443: adding 'ironic/drivers/modules/ilo/vendor.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/agent.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/client.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/interface.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/lldp_parsers.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/lldp_tlvs.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/accelerators.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/architecture.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/base.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/boot_mode.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/cpu_capabilities.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/extra_hardware.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/known_accelerators.yaml' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/local_link_connection.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/memory.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/parse_lldp.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/pci_devices.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/physical_network.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/ports.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/raid_device.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/ramdisk_error.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/root_device.py' DEBUG util.py:443: adding 'ironic/drivers/modules/inspector/hooks/validate_interfaces.py' DEBUG util.py:443: adding 'ironic/drivers/modules/intel_ipmi/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/intel_ipmi/management.py' DEBUG util.py:443: adding 'ironic/drivers/modules/irmc/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/irmc/bios.py' DEBUG util.py:443: adding 'ironic/drivers/modules/irmc/boot.py' DEBUG util.py:443: adding 'ironic/drivers/modules/irmc/common.py' DEBUG util.py:443: adding 'ironic/drivers/modules/irmc/inspect.py' DEBUG util.py:443: adding 'ironic/drivers/modules/irmc/management.py' DEBUG util.py:443: adding 'ironic/drivers/modules/irmc/power.py' DEBUG util.py:443: adding 'ironic/drivers/modules/irmc/raid.py' DEBUG util.py:443: adding 'ironic/drivers/modules/irmc/vendor.py' DEBUG util.py:443: adding 'ironic/drivers/modules/network/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/network/common.py' DEBUG util.py:443: adding 'ironic/drivers/modules/network/flat.py' DEBUG util.py:443: adding 'ironic/drivers/modules/network/neutron.py' DEBUG util.py:443: adding 'ironic/drivers/modules/network/noop.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/bios.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/boot.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/firmware.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/firmware_utils.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/inspect.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/management.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/power.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/raid.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/utils.py' DEBUG util.py:443: adding 'ironic/drivers/modules/redfish/vendor.py' DEBUG util.py:443: adding 'ironic/drivers/modules/storage/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/storage/cinder.py' DEBUG util.py:443: adding 'ironic/drivers/modules/storage/external.py' DEBUG util.py:443: adding 'ironic/drivers/modules/storage/noop.py' DEBUG util.py:443: adding 'ironic/drivers/modules/xclarity/__init__.py' DEBUG util.py:443: adding 'ironic/drivers/modules/xclarity/common.py' DEBUG util.py:443: adding 'ironic/drivers/modules/xclarity/management.py' DEBUG util.py:443: adding 'ironic/drivers/modules/xclarity/power.py' DEBUG util.py:443: adding 'ironic/hacking/__init__.py' DEBUG util.py:443: adding 'ironic/hacking/checks.py' DEBUG util.py:443: adding 'ironic/objects/__init__.py' DEBUG util.py:443: adding 'ironic/objects/allocation.py' DEBUG util.py:443: adding 'ironic/objects/base.py' DEBUG util.py:443: adding 'ironic/objects/bios.py' DEBUG util.py:443: adding 'ironic/objects/chassis.py' DEBUG util.py:443: adding 'ironic/objects/conductor.py' DEBUG util.py:443: adding 'ironic/objects/deploy_template.py' DEBUG util.py:443: adding 'ironic/objects/deployment.py' DEBUG util.py:443: adding 'ironic/objects/fields.py' DEBUG util.py:443: adding 'ironic/objects/firmware.py' DEBUG util.py:443: adding 'ironic/objects/indirection.py' DEBUG util.py:443: adding 'ironic/objects/node.py' DEBUG util.py:443: adding 'ironic/objects/node_history.py' DEBUG util.py:443: adding 'ironic/objects/node_inventory.py' DEBUG util.py:443: adding 'ironic/objects/notification.py' DEBUG util.py:443: adding 'ironic/objects/port.py' DEBUG util.py:443: adding 'ironic/objects/portgroup.py' DEBUG util.py:443: adding 'ironic/objects/trait.py' DEBUG util.py:443: adding 'ironic/objects/volume_connector.py' DEBUG util.py:443: adding 'ironic/objects/volume_target.py' DEBUG util.py:443: adding 'ironic/pxe_filter/__init__.py' DEBUG util.py:443: adding 'ironic/pxe_filter/dnsmasq.py' DEBUG util.py:443: adding 'ironic/pxe_filter/service.py' DEBUG util.py:443: adding 'ironic/tests/__init__.py' DEBUG util.py:443: adding 'ironic/tests/base.py' DEBUG util.py:443: adding 'ironic/tests/functional/__init__.py' DEBUG util.py:443: adding 'ironic/tests/json_samples/network_data.json' DEBUG util.py:443: adding 'ironic/tests/unit/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/policy_fixture.py' DEBUG util.py:443: adding 'ironic/tests/unit/raid_constants.py' DEBUG util.py:443: adding 'ironic/tests/unit/stubs.py' DEBUG util.py:443: adding 'ironic/tests/unit/test_base.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/base.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_acl.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_acl_basic.yaml' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_audit.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_functions.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_healthcheck.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_hooks.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_method.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_middleware.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_ospmiddleware.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_proxy_middleware.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_rbac_legacy.yaml' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_rbac_project_scoped.yaml' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_rbac_system_scoped.yaml' DEBUG util.py:443: adding 'ironic/tests/unit/api/test_root.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/test_base.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_allocation.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_chassis.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_collection.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_conductor.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_deploy_template.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_driver.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_event.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_node.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_notification_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_port.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_portgroup.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_ramdisk.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_root.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_shard.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_versions.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_volume.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_volume_connector.py' DEBUG util.py:443: adding 'ironic/tests/unit/api/controllers/v1/test_volume_target.py' DEBUG util.py:443: adding 'ironic/tests/unit/cmd/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/cmd/test_conductor.py' DEBUG util.py:443: adding 'ironic/tests/unit/cmd/test_dbsync.py' DEBUG util.py:443: adding 'ironic/tests/unit/cmd/test_status.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_args.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_cinder.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_context.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_driver_factory.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_fsm.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_glance_service.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_hash_ring.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_image_publisher.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_image_service.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_images.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_keystone.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_kickstart_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_molds.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_network.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_neutron.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_nova.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_policy.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_pxe_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_raid.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_release_mappings.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_rpc.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_states.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_swift.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/test_wsgi_service.py' DEBUG util.py:443: adding 'ironic/tests/unit/common/drive_samples/config_drive' DEBUG util.py:443: adding 'ironic/tests/unit/common/json_samples/neutron_network_show.json' DEBUG util.py:443: adding 'ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json' DEBUG util.py:443: adding 'ironic/tests/unit/common/json_samples/neutron_port_show.json' DEBUG util.py:443: adding 'ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json' DEBUG util.py:443: adding 'ironic/tests/unit/common/json_samples/neutron_subnet_show.json' DEBUG util.py:443: adding 'ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/mgr_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_allocations.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_base_manager.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_cleaning.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_deployments.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_inspection.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_manager.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_notification_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_periodics.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_rpc_service.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_rpcapi.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_servicing.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_steps.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_task_manager.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/conductor/test_verify.py' DEBUG util.py:443: adding 'ironic/tests/unit/conf/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/conf/test_auth.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/base.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_allocations.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_api.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_bios_settings.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_chassis.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_conductor.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_deploy_templates.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_firmware_component.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_node_history.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_node_inventory.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_node_tags.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_node_traits.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_nodes.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_portgroups.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_ports.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_shard.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_volume_connectors.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/test_volume_targets.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/sqlalchemy/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/sqlalchemy/test_api.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/sqlalchemy/test_migrations.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/sqlalchemy/test_models.py' DEBUG util.py:443: adding 'ironic/tests/unit/db/sqlalchemy/test_types.py' DEBUG util.py:443: adding 'ironic/tests/unit/dhcp/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/dhcp/test_dnsmasq.py' DEBUG util.py:443: adding 'ironic/tests/unit/dhcp/test_factory.py' DEBUG util.py:443: adding 'ironic/tests/unit/dhcp/test_neutron.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/boot-fallback.ipxe' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/boot.ipxe' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ipxe_config.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ipxe_config_timeout.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ks_extra_vars.tmpl' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/ks_missing_var.tmpl' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/pxe_config.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/pxe_grub_config.template' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_base.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_drac.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_fake_hardware.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_generic.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_ibmc.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_ilo.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_ipmi.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_irmc.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_redfish.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_snmp.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/test_xclarity.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/third_party_driver_mock_specs.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/third_party_driver_mocks.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_agent.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_agent_base.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_agent_client.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_agent_power.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_boot_mode_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_console_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_deploy_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_image_cache.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_image_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_inspect_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_ipmitool.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_ipxe.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_noop.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_noop_mgmt.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_pxe.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_ramdisk.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/test_snmp.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ansible/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ansible/test_deploy.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_bios.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_boot.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_common.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_inspect.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_job.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_management.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_periodic_task.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_power.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_raid.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/test_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/drac/utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ibmc/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ibmc/base.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ibmc/test_management.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ibmc/test_power.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ibmc/test_raid.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ibmc/test_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ibmc/test_vendor.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_bios.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_boot.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_common.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_console.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_inspect.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_management.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_power.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_raid.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/ilo/test_vendor.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/test_agent.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/test_client.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/test_interface.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_accelerators.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_architecture.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_boot_mode.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_cpu_capabilities.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_extra_hardware.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_memory.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_parse_lldp.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_pci_devices.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_physical_network.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_ports.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_raid_device.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_ramdisk_error.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_root_device.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_validate_interfaces.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/intel_ipmi/base.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/test_bios.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/test_boot.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/test_common.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/test_inspect.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/test_management.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/test_power.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/irmc/test_raid.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/network/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/network/test_common.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/network/test_flat.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/network/test_neutron.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/network/test_noop.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/network/json_samples/network_data.json' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_bios.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_boot.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_firmware.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_inspect.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_management.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_power.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_raid.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/redfish/test_vendor.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/storage/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/storage/test_cinder.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/storage/test_external.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/xclarity/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/xclarity/test_common.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/xclarity/test_management.py' DEBUG util.py:443: adding 'ironic/tests/unit/drivers/modules/xclarity/test_power.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_allocation.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_bios.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_chassis.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_conductor.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_deploy_template.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_deployment.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_fields.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_firmware.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_node.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_node_history.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_node_inventory.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_notification.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_objects.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_port.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_portgroup.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_trait.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_volume_connector.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/test_volume_target.py' DEBUG util.py:443: adding 'ironic/tests/unit/objects/utils.py' DEBUG util.py:443: adding 'ironic/tests/unit/pxe_filter/__init__.py' DEBUG util.py:443: adding 'ironic/tests/unit/pxe_filter/test_dnsmasq.py' DEBUG util.py:443: adding 'ironic/tests/unit/pxe_filter/test_service.py' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.data/data/etc/ironic/rootwrap.conf' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.data/data/etc/ironic/rootwrap.d/ironic-utils.filters' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.data/scripts/ironic-api-wsgi' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.dist-info/AUTHORS' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.dist-info/LICENSE' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.dist-info/METADATA' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.dist-info/WHEEL' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.dist-info/entry_points.txt' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.dist-info/pbr.json' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.dist-info/top_level.txt' DEBUG util.py:443: adding 'ironic-24.0.1.dev106.dist-info/RECORD' DEBUG util.py:443: removing build/bdist.linux-x86_64/wheel DEBUG util.py:445: Building wheel for ironic (PEP 517): finished with status 'done' DEBUG util.py:445: Created wheel for ironic: filename=ironic-24.0.1.dev106-py3-none-any.whl size=2027631 sha256=63bbf67263a666a530704109dcfded26d8272ff03fd5f171f2fd4899f36d443f DEBUG util.py:445: Stored in directory: /builddir/.cache/pip/wheels/9c/7f/63/9cc47e2595acce26d9c91f12eb940f8412a7b444e715db04a1 DEBUG util.py:445: Successfully built ironic 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.A64Yt4 DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + '[' /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64 '!=' / ']' DEBUG util.py:445: + rm -rf /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64 DEBUG util.py:443: ++ dirname /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64 DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT DEBUG util.py:445: + mkdir /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64 DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:443: ++ ls /builddir/build/BUILD/ironic-24.0.1.dev106/pyproject-wheeldir/ironic-24.0.1.dev106-py3-none-any.whl DEBUG util.py:443: ++ xargs basename --multiple DEBUG util.py:443: ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' DEBUG util.py:445: + specifier=ironic==24.0.1.dev106 DEBUG util.py:445: + '[' -z ironic==24.0.1.dev106 ']' DEBUG util.py:445: + TMPDIR=/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir DEBUG util.py:445: + /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64 --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/ironic-24.0.1.dev106/pyproject-wheeldir ironic==24.0.1.dev106 DEBUG util.py:445: Using pip 21.2.3 from /usr/lib/python3.9/site-packages/pip (python 3.9) DEBUG util.py:445: Looking in links: /builddir/build/BUILD/ironic-24.0.1.dev106/pyproject-wheeldir DEBUG util.py:445: Processing ./pyproject-wheeldir/ironic-24.0.1.dev106-py3-none-any.whl DEBUG util.py:445: Installing collected packages: ironic DEBUG util.py:445: changing mode of /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic to 755 DEBUG util.py:445: changing mode of /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-api to 755 DEBUG util.py:445: changing mode of /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-conductor to 755 DEBUG util.py:445: changing mode of /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-dbsync to 755 DEBUG util.py:445: changing mode of /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-pxe-filter to 755 DEBUG util.py:445: changing mode of /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-rootwrap to 755 DEBUG util.py:445: changing mode of /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-status to 755 DEBUG util.py:445: Successfully installed ironic-24.0.1.dev106 DEBUG util.py:445: + '[' -d /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin ']' DEBUG util.py:445: + '[' -z s ']' DEBUG util.py:445: + shebang_flags=-kas DEBUG util.py:445: + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kas /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-api /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-api-wsgi /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-conductor /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-dbsync /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-pxe-filter /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-rootwrap /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-status DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-api: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-api-wsgi: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-conductor: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-dbsync: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-pxe-filter: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-rootwrap: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/ironic-status: updating DEBUG util.py:445: + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin/__pycache__ DEBUG util.py:445: + rm -f /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-ghost-distinfo DEBUG util.py:445: + site_dirs=() DEBUG util.py:445: + '[' -d /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages ']' DEBUG util.py:445: + site_dirs+=("/usr/lib/python3.9/site-packages") DEBUG util.py:445: + '[' /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib64/python3.9/site-packages '!=' /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages ']' DEBUG util.py:445: + '[' -d /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib64/python3.9/site-packages ']' DEBUG util.py:445: + for site_dir in ${site_dirs[@]} DEBUG util.py:445: + for distinfo in /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64$site_dir/*.dist-info DEBUG util.py:445: + echo '%ghost /usr/lib/python3.9/site-packages/ironic-24.0.1.dev106.dist-info' DEBUG util.py:445: + sed -i s/pip/rpm/ /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages/ironic-24.0.1.dev106.dist-info/INSTALLER DEBUG util.py:445: + PYTHONPATH=/usr/lib/rpm/redhat DEBUG util.py:445: + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64 --record /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages/ironic-24.0.1.dev106.dist-info/RECORD --output /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-record DEBUG util.py:445: + rm -fv /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages/ironic-24.0.1.dev106.dist-info/RECORD DEBUG util.py:445: removed '/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages/ironic-24.0.1.dev106.dist-info/RECORD' DEBUG util.py:445: + rm -fv /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages/ironic-24.0.1.dev106.dist-info/REQUESTED DEBUG util.py:445: removed '/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages/ironic-24.0.1.dev106.dist-info/REQUESTED' DEBUG util.py:443: ++ wc -l /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64-pyproject-ghost-distinfo DEBUG util.py:443: ++ cut -f1 '-d ' DEBUG util.py:445: + lines=1 DEBUG util.py:445: + '[' 1 -ne 1 ']' DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/etc/logrotate.d/openstack-ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/systemd/system DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic.service /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/systemd/system DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/etc/sudoers.d DEBUG util.py:445: + install -p -D -m 440 /builddir/build/SOURCES/ironic-sudoers /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/etc/sudoers.d/ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/var/lib/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/var/log/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/etc/ironic/rootwrap.d DEBUG util.py:445: + export PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64//usr/lib/python3.9/site-packages DEBUG util.py:445: + PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64//usr/lib/python3.9/site-packages DEBUG util.py:445: + oslo-config-generator --config-file tools/config/ironic-config-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64//etc/ironic/rootwrap.conf DEBUG util.py:445: + mv /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64//etc/ironic/rootwrap.d/ DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/etc/ironic/rootwrap.d DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.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 24.0.1-0.20240319001819.99b1f9c.el9 --unique-debug-suffix -24.0.1-0.20240319001819.99b1f9c.el9.x86_64 --unique-debug-src-base openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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-24.0.1.dev106 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-24.0.1-0.20240319001819.99b1f9c.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.OiBjl4 DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + TOX_TESTENV_PASSENV='*' 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: + PATH=/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/bin:/builddir/.local/bin:/builddir/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin DEBUG util.py:445: + PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib64/python3.9/site-packages:/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages DEBUG util.py:445: + PYTHONDONTWRITEBYTECODE=1 DEBUG util.py:445: + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir' DEBUG util.py:445: + PYTEST_XDIST_AUTO_NUM_WORKERS=4 DEBUG util.py:445: + HOSTNAME=rpmbuild DEBUG util.py:445: + /usr/bin/python3 -m tox --current-env -q --recreate -e py39 DEBUG util.py:445: /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) DEBUG util.py:445: /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) DEBUG util.py:445: /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) DEBUG util.py:445: /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) DEBUG util.py:445: /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.275749s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:445: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: INFO [alembic.runtime.migration] Running stamp_revision -> 01f21d5e5195 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.025735s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/bad/path WITH {} 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_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.184404s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?owner=54321 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15c8d802-ccb7-4ef3-a014-574b14fac3db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.208063s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:445: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: INFO [alembic.runtime.migration] Running stamp_revision -> 01f21d5e5195 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.030133s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59076ce1-721c-4216-92aa-179813ca1dc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.025916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.025831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.028132s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-983e35d6-2c6a-4709-bc6c-75cd7489f5b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.023809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.030341s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} 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: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.023435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.040895s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbf07f9a-d60e-4d65-a55d-d096d4f3d78e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"allocations": [{"uuid": "a15d3936-7e0f-4d09-8224-b83728e56460", "created_at": "2024-03-19T00:19:54.718876+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/a15d3936-7e0f-4d09-8224-b83728e56460", "rel": "self"}, {"href": "http://localhost/allocations/a15d3936-7e0f-4d09-8224-b83728e56460", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "2eafd28c-9891-452d-9e88-7ef661e633e3", "created_at": "2024-03-19T00:19:54.719864+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/2eafd28c-9891-452d-9e88-7ef661e633e3", "rel": "self"}, {"href": "http://localhost/allocations/2eafd28c-9891-452d-9e88-7ef661e633e3", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "e3c1e3db-a10f-435d-a1cd-57db771f7161", "created_at": "2024-03-19T00:19:54.720827+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/e3c1e3db-a10f-435d-a1cd-57db771f7161", "rel": "self"}, {"href": "http://localhost/allocations/e3c1e3db-a10f-435d-a1cd-57db771f7161", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "f65049c7-5bcd-4ef9-ac58-c8638542c786", "created_at": "2024-03-19T00:19:54.721760+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/f65049c7-5bcd-4ef9-ac58-c8638542c786", "rel": "self"}, {"href": "http://localhost/allocations/f65049c7-5bcd-4ef9-ac58-c8638542c786", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "34540c2f-8be3-4daf-9583-feecb8e8022a", "created_at": "2024-03-19T00:19:54.722692+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/34540c2f-8be3-4daf-9583-feecb8e8022a", "rel": "self"}, {"href": "http://localhost/allocations/34540c2f-8be3-4daf-9583-feecb8e8022a", "rel": "bookmark"}], "node_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.023587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.022576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.023387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.049188s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/b1f4f41d-c00b-46ae-8f4e-ff94ef3c7f8d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7831b07-fc63-4fee-9a62-e2fea64d13fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "b1f4f41d-c00b-46ae-8f4e-ff94ef3c7f8d", "created_at": "2024-03-19T00:19:54.760137+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/b1f4f41d-c00b-46ae-8f4e-ff94ef3c7f8d", "rel": "self"}, {"href": "http://localhost/allocations/b1f4f41d-c00b-46ae-8f4e-ff94ef3c7f8d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/b1f4f41d-c00b-46ae-8f4e-ff94ef3c7f8d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e16490a0-ddf0-4430-977e-ce473c7f52ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b1f4f41d-c00b-46ae-8f4e-ff94ef3c7f8d", "created_at": "2024-03-19T00:19:54.760137+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/b1f4f41d-c00b-46ae-8f4e-ff94ef3c7f8d", "rel": "self"}, {"href": "http://localhost/allocations/b1f4f41d-c00b-46ae-8f4e-ff94ef3c7f8d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.029072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.040049s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/2a192546-f77c-4fa8-91c2-0e9160621131 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5086adc-1b9a-4522-8710-7bdfb50d1912 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2a192546-f77c-4fa8-91c2-0e9160621131", "created_at": "2024-03-19T00:19:54.813045+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/2a192546-f77c-4fa8-91c2-0e9160621131", "rel": "self"}, {"href": "http://localhost/allocations/2a192546-f77c-4fa8-91c2-0e9160621131", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.025489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.041205s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/68ae98ca-1dfb-4e75-ba19-2339570fb61a WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98990d04-47f7-4b05-b551-b9ca36042333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "68ae98ca-1dfb-4e75-ba19-2339570fb61a", "created_at": "2024-03-19T00:19:54.850106+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/68ae98ca-1dfb-4e75-ba19-2339570fb61a", "rel": "self"}, {"href": "http://localhost/allocations/68ae98ca-1dfb-4e75-ba19-2339570fb61a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.035345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.037331s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/node/6bb7bf4c-0748-4064-a94f-268eb1ca8bcc/allocation WITH {} 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_allocation.TestListAllocations.test_by_node_resource_not_existed [0.055131s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/node/1a22a0be-16e4-4351-8d7a-9aa7c558bfdd/allocation WITH {} 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_allocation.TestListAllocations.test_collection_links [0.038316s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/?limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57a50545-f696-45b6-ab71-96eeb713c9ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "41787d2c-72fc-4213-bd1a-a9a8b09722ce", "created_at": "2024-03-19T00:19:54.986172+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/41787d2c-72fc-4213-bd1a-a9a8b09722ce", "rel": "self"}, {"href": "http://localhost/allocations/41787d2c-72fc-4213-bd1a-a9a8b09722ce", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "ae716687-a9b0-4a28-911e-41729135641d", "created_at": "2024-03-19T00:19:54.987135+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ae716687-a9b0-4a28-911e-41729135641d", "rel": "self"}, {"href": "http://localhost/allocations/ae716687-a9b0-4a28-911e-41729135641d", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "bf9eb0db-0bba-45d8-ac2c-ec51ac93cfc6", "created_at": "2024-03-19T00:19:54.988347+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bf9eb0db-0bba-45d8-ac2c-ec51ac93cfc6", "rel": "self"}, {"href": "http://localhost/allocations/bf9eb0db-0bba-45d8-ac2c-ec51ac93cfc6", "rel": "bookmark"}], "node_uuid": null}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=bf9eb0db-0bba-45d8-ac2c-ec51ac93cfc6"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.229352s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/5657b6bc-8160-4780-9846-06957a816256 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21893a14-2975-4a44-8820-8163fe5b13c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5657b6bc-8160-4780-9846-06957a816256", "created_at": "2024-03-19T00:19:55.072988+00:00", "updated_at": "2024-03-19T00:19:55.095880+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/5657b6bc-8160-4780-9846-06957a816256", "rel": "self"}, {"href": "http://localhost/allocations/5657b6bc-8160-4780-9846-06957a816256", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.049863s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/4ead57b0-da94-463d-b7fb-bacded447d13 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb713be7-54f1-472b-8692-bcab55da8715 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4ead57b0-da94-463d-b7fb-bacded447d13", "created_at": "2024-03-19T00:19:55.125869+00:00", "updated_at": "2024-03-19T00:19:55.142183+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/4ead57b0-da94-463d-b7fb-bacded447d13", "rel": "self"}, {"href": "http://localhost/allocations/4ead57b0-da94-463d-b7fb-bacded447d13", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/4ead57b0-da94-463d-b7fb-bacded447d13 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc652d67-7e54-4e8b-9de4-22b6319226e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4ead57b0-da94-463d-b7fb-bacded447d13", "created_at": "2024-03-19T00:19:55.125869+00:00", "updated_at": "2024-03-19T00:19:55.142183+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/4ead57b0-da94-463d-b7fb-bacded447d13", "rel": "self"}, {"href": "http://localhost/allocations/4ead57b0-da94-463d-b7fb-bacded447d13", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.041331s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?fields=uuid,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a9796ac-38fd-463e-89b4-cb895276aa6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "53d3f451-189c-4dd5-9b7e-eb7125cdd22c", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/53d3f451-189c-4dd5-9b7e-eb7125cdd22c", "rel": "self"}, {"href": "http://localhost/allocations/53d3f451-189c-4dd5-9b7e-eb7125cdd22c", "rel": "bookmark"}]}, {"uuid": "d0f8c0d7-68c5-49b8-8339-78dd57e5da13", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/d0f8c0d7-68c5-49b8-8339-78dd57e5da13", "rel": "self"}, {"href": "http://localhost/allocations/d0f8c0d7-68c5-49b8-8339-78dd57e5da13", "rel": "bookmark"}]}, {"uuid": "4e2cb97a-1135-4d91-b829-aee92aac221c", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/4e2cb97a-1135-4d91-b829-aee92aac221c", "rel": "self"}, {"href": "http://localhost/allocations/4e2cb97a-1135-4d91-b829-aee92aac221c", "rel": "bookmark"}]}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=4e2cb97a-1135-4d91-b829-aee92aac221c"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.035307s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-822d81ce-4c3c-4a3e-b456-41a23829b1c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "e2fa81fa-6f59-411f-a93a-0edf3f726ce7", "created_at": "2024-03-19T00:19:55.065168+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e2fa81fa-6f59-411f-a93a-0edf3f726ce7", "rel": "self"}, {"href": "http://localhost/allocations/e2fa81fa-6f59-411f-a93a-0edf3f726ce7", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "5bc05816-06dd-4b48-b781-0876a8de6f86", "created_at": "2024-03-19T00:19:55.066114+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5bc05816-06dd-4b48-b781-0876a8de6f86", "rel": "self"}, {"href": "http://localhost/allocations/5bc05816-06dd-4b48-b781-0876a8de6f86", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "9dd4466a-3c6f-428d-9520-7d2edbbfbccc", "created_at": "2024-03-19T00:19:55.067043+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9dd4466a-3c6f-428d-9520-7d2edbbfbccc", "rel": "self"}, {"href": "http://localhost/allocations/9dd4466a-3c6f-428d-9520-7d2edbbfbccc", "rel": "bookmark"}], "node_uuid": null}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=9dd4466a-3c6f-428d-9520-7d2edbbfbccc"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.028889s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f8dd57f-9822-4009-b754-8adafd429036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": []} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.055191s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?node=node-1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a46adfb2-7e28-4256-b72c-1186ac7fcd04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "1b49fa85-f29e-4fb1-916e-17081d94d5fe", "created_at": "2024-03-19T00:19:55.129812+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1b49fa85-f29e-4fb1-916e-17081d94d5fe", "rel": "self"}, {"href": "http://localhost/allocations/1b49fa85-f29e-4fb1-916e-17081d94d5fe", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "7afe22e4-8387-45cf-b294-4602f8b88125", "created_at": "2024-03-19T00:19:55.130775+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7afe22e4-8387-45cf-b294-4602f8b88125", "rel": "self"}, {"href": "http://localhost/allocations/7afe22e4-8387-45cf-b294-4602f8b88125", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "7f7fa982-cc9d-445a-b8a4-12e5ed4aae1c", "created_at": "2024-03-19T00:19:55.131727+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7f7fa982-cc9d-445a-b8a4-12e5ed4aae1c", "rel": "self"}, {"href": "http://localhost/allocations/7f7fa982-cc9d-445a-b8a4-12e5ed4aae1c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.033609s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/2ae4cbb3-c6cd-4e25-86cc-23daa38477ba WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a82df8b4-a71c-45d0-92eb-2c7e0f0dfc03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.038655s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59b873d8-bfde-4e3f-9c82-d9ea5ab15d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "f371a8a9-68d8-4867-9a97-0dd37790094a", "created_at": "2024-03-19T00:19:55.186333+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/f371a8a9-68d8-4867-9a97-0dd37790094a", "rel": "self"}, {"href": "http://localhost/allocations/f371a8a9-68d8-4867-9a97-0dd37790094a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.034203s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?node=banana WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10ac1217-492b-4cf4-8dac-d7a78482e8c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.071414s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56 WITH [{'path': '/extra/foo2', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b11b9812-762b-4c02-8c4a-2dee976c9817 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c7fd455b-f8d4-46ea-bf95-f705d2304a56", "created_at": "2024-03-19T00:19:55.211002+00:00", "updated_at": "2024-03-19T00:19:55.227258+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/c7fd455b-f8d4-46ea-bf95-f705d2304a56", "rel": "self"}, {"href": "http://localhost/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0baf3e09-0cf1-4fe0-910d-7cafb9ad4183 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c7fd455b-f8d4-46ea-bf95-f705d2304a56", "created_at": "2024-03-19T00:19:55.211002+00:00", "updated_at": "2024-03-19T00:19:55.227258+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/c7fd455b-f8d4-46ea-bf95-f705d2304a56", "rel": "self"}, {"href": "http://localhost/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: PATCH /v1/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28cd59b7-88df-445d-8434-3f6db52f9142 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c7fd455b-f8d4-46ea-bf95-f705d2304a56", "created_at": "2024-03-19T00:19:55.211002+00:00", "updated_at": "2024-03-19T00:19:55.248054+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56", "rel": "self"}, {"href": "http://localhost/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-557bfadc-4d83-4bb5-9183-8a2857962f3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c7fd455b-f8d4-46ea-bf95-f705d2304a56", "created_at": "2024-03-19T00:19:55.211002+00:00", "updated_at": "2024-03-19T00:19:55.248054+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56", "rel": "self"}, {"href": "http://localhost/allocations/c7fd455b-f8d4-46ea-bf95-f705d2304a56", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.038194s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?owner=12345 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ed34768-54e5-44e0-b845-f31545bf8ea0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "f3c2f458-991b-4fa0-8d6d-5b0f051695bc", "created_at": "2024-03-19T00:19:55.262082+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f3c2f458-991b-4fa0-8d6d-5b0f051695bc", "rel": "self"}, {"href": "http://localhost/allocations/f3c2f458-991b-4fa0-8d6d-5b0f051695bc", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "8a1728f1-e757-4676-a5bc-1f1fab0d2666", "created_at": "2024-03-19T00:19:55.263038+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8a1728f1-e757-4676-a5bc-1f1fab0d2666", "rel": "self"}, {"href": "http://localhost/allocations/8a1728f1-e757-4676-a5bc-1f1fab0d2666", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "4bde8542-8a8a-4b2b-88fd-2fac0fe686f4", "created_at": "2024-03-19T00:19:55.263949+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4bde8542-8a8a-4b2b-88fd-2fac0fe686f4", "rel": "self"}, {"href": "http://localhost/allocations/4bde8542-8a8a-4b2b-88fd-2fac0fe686f4", "rel": "bookmark"}], "node_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.034231s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/4520c587-96c1-488a-9cd8-2e3bd2b7a2a8 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c34ec81-ff55-4e40-9d4b-518e26d24866 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.027783s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?owner=12345 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf8ce4f0-0259-4deb-80b1-ccf69f7bb518 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed_mismatch [0.031425s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?owner=12345 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12a2f621-7016-48b0-b669-689b5339e577 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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\": \"Not authorized.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.050816s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/f5817ead-6444-4f3e-a92d-3ab940c146e3 WITH [{'path': '/extra/a', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c898e164-149e-468b-af0f-65d89abaaaf1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f5817ead-6444-4f3e-a92d-3ab940c146e3", "created_at": "2024-03-19T00:19:55.317691+00:00", "updated_at": "2024-03-19T00:19:55.334340+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f5817ead-6444-4f3e-a92d-3ab940c146e3", "rel": "self"}, {"href": "http://localhost/allocations/f5817ead-6444-4f3e-a92d-3ab940c146e3", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/f5817ead-6444-4f3e-a92d-3ab940c146e3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a76b30c-a6b8-44f7-b3d2-eb2fed57e772 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f5817ead-6444-4f3e-a92d-3ab940c146e3", "created_at": "2024-03-19T00:19:55.317691+00:00", "updated_at": "2024-03-19T00:19:55.334340+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f5817ead-6444-4f3e-a92d-3ab940c146e3", "rel": "self"}, {"href": "http://localhost/allocations/f5817ead-6444-4f3e-a92d-3ab940c146e3", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.273703s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-b7e9798f-c5b6-47bb-bd63-4825505df378 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8fb620db-c8fb-44ea-a1f7-86ec3c4b3dc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:445: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: INFO [alembic.runtime.migration] Running stamp_revision -> 01f21d5e5195 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.028815s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/b80fa635-24d2-44c1-a738-97ded95b47b9 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-299c4df8-d303-4fae-a45e-653d59b5aac1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 b80fa635-24d2-44c1-a738-97ded95b47b9 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.034925s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-118dc700-9951-4ed6-8186-1cf912ad0e62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.037455s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?state=allocating WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c9629dd-726e-4e54-9749-00b21ac15452 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "480d4793-b5be-4765-97d1-76bec2bf2d7c", "created_at": "2024-03-19T00:19:55.359679+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/480d4793-b5be-4765-97d1-76bec2bf2d7c", "rel": "self"}, {"href": "http://localhost/allocations/480d4793-b5be-4765-97d1-76bec2bf2d7c", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "eb29932c-ed2b-42b7-a8dd-dc988242b9b3", "created_at": "2024-03-19T00:19:55.360729+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/eb29932c-ed2b-42b7-a8dd-dc988242b9b3", "rel": "self"}, {"href": "http://localhost/allocations/eb29932c-ed2b-42b7-a8dd-dc988242b9b3", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "87eab08e-381f-4a10-87b4-5359994eeade", "created_at": "2024-03-19T00:19:55.361673+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/87eab08e-381f-4a10-87b4-5359994eeade", "rel": "self"}, {"href": "http://localhost/allocations/87eab08e-381f-4a10-87b4-5359994eeade", "rel": "bookmark"}], "node_uuid": null}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.041250s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4dc0f986-80d5-4f1c-a29f-65556d8dd434 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a5975cdf-5ae6-4213-af98-d060c2ffe98e", "created_at": "2024-03-19T00:19:55.398683+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/a5975cdf-5ae6-4213-af98-d060c2ffe98e", "rel": "self"}, {"href": "http://localhost/allocations/a5975cdf-5ae6-4213-af98-d060c2ffe98e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.031989s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/2750043d-043e-444e-8adf-1764e5aab6bc WITH {} 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.031200s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation WITH {} 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_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.039838s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e25ec1d-323e-4960-9b34-e44fa5e8ec39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"extra": {}, "name": null, "links": [{"href": "http://localhost/v1/allocations/b034b20c-22d3-4a32-ad34-e624b917222e", "rel": "self"}, {"href": "http://localhost/allocations/b034b20c-22d3-4a32-ad34-e624b917222e", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.043285s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?fields=uuid,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec3a45e2-dfa6-4008-aafa-88edbb770d93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "3dacff04-d885-464b-86df-c63e2b3b3379", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/3dacff04-d885-464b-86df-c63e2b3b3379", "rel": "self"}, {"href": "http://localhost/allocations/3dacff04-d885-464b-86df-c63e2b3b3379", "rel": "bookmark"}]}, {"uuid": "7f073a52-5649-414f-b8f2-253bdbd75d07", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/7f073a52-5649-414f-b8f2-253bdbd75d07", "rel": "self"}, {"href": "http://localhost/allocations/7f073a52-5649-414f-b8f2-253bdbd75d07", "rel": "bookmark"}]}, {"uuid": "51b6bcf8-906c-4956-9cec-15abe321620e", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/51b6bcf8-906c-4956-9cec-15abe321620e", "rel": "self"}, {"href": "http://localhost/allocations/51b6bcf8-906c-4956-9cec-15abe321620e", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.034701s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/9166875a-c15c-4444-bb3c-393503364586 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-654ab27c-6496-4c7a-b124-2f51f700ef7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.046076s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?fields=node_uuid&limit=2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b40f3961-261d-4ffa-a001-ccfe936d95e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"links": [{"href": "http://localhost/v1/allocations/b350c196-463b-44a0-a032-b7cdbbf6a691", "rel": "self"}, {"href": "http://localhost/allocations/b350c196-463b-44a0-a032-b7cdbbf6a691", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"links": [{"href": "http://localhost/v1/allocations/d75f0fa8-8b66-41b3-8e9a-ae3a3078d9ce", "rel": "self"}, {"href": "http://localhost/allocations/d75f0fa8-8b66-41b3-8e9a-ae3a3078d9ce", "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=d75f0fa8-8b66-41b3-8e9a-ae3a3078d9ce"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.033484s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/b0a1ae85-9144-4746-9488-7aa0e0139bbe WITH [{'path': '/name', 'value': '[test]', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e47caad7-a984-4a06-9a2c-f292cccf8cd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.053772s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/3b7df11b-ebbe-495a-a3e6-c936e18199a5 WITH [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eaf59f0d-94c7-4407-96fc-61cf40606d5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "3b7df11b-ebbe-495a-a3e6-c936e18199a5", "created_at": "2024-03-19T00:19:55.435659+00:00", "updated_at": "2024-03-19T00:19:55.458178+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/3b7df11b-ebbe-495a-a3e6-c936e18199a5", "rel": "self"}, {"href": "http://localhost/allocations/3b7df11b-ebbe-495a-a3e6-c936e18199a5", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/3b7df11b-ebbe-495a-a3e6-c936e18199a5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3722309-31b1-4f6e-811c-a9f9d73b9b4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "3b7df11b-ebbe-495a-a3e6-c936e18199a5", "created_at": "2024-03-19T00:19:55.435659+00:00", "updated_at": "2024-03-19T00:19:55.458178+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/3b7df11b-ebbe-495a-a3e6-c936e18199a5", "rel": "self"}, {"href": "http://localhost/allocations/3b7df11b-ebbe-495a-a3e6-c936e18199a5", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.047255s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/05c876bd-443d-4382-ab0f-afa1e319ae33 WITH [{'path': '/name', 'value': None, 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22a1cff4-aad3-44ec-9335-83791b452346 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "05c876bd-443d-4382-ab0f-afa1e319ae33", "created_at": "2024-03-19T00:19:55.489986+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/05c876bd-443d-4382-ab0f-afa1e319ae33", "rel": "self"}, {"href": "http://localhost/allocations/05c876bd-443d-4382-ab0f-afa1e319ae33", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/05c876bd-443d-4382-ab0f-afa1e319ae33 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79dd9e79-2c2a-4830-b1d8-7a3c00c0da70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "05c876bd-443d-4382-ab0f-afa1e319ae33", "created_at": "2024-03-19T00:19:55.489986+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/05c876bd-443d-4382-ab0f-afa1e319ae33", "rel": "self"}, {"href": "http://localhost/allocations/05c876bd-443d-4382-ab0f-afa1e319ae33", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.100706s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/d48cb527-8e5b-4f3e-bc76-cce33ef81b02 WITH [{'path': '/name', 'value': 'test', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cab814a-4bf0-4524-8a58-1716a3023c09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d48cb527-8e5b-4f3e-bc76-cce33ef81b02", "created_at": "2024-03-19T00:19:55.560177+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/d48cb527-8e5b-4f3e-bc76-cce33ef81b02", "rel": "self"}, {"href": "http://localhost/allocations/d48cb527-8e5b-4f3e-bc76-cce33ef81b02", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/d48cb527-8e5b-4f3e-bc76-cce33ef81b02 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7815db2-06de-4bbc-9509-bfda2826cd30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d48cb527-8e5b-4f3e-bc76-cce33ef81b02", "created_at": "2024-03-19T00:19:55.560177+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/d48cb527-8e5b-4f3e-bc76-cce33ef81b02", "rel": "self"}, {"href": "http://localhost/allocations/d48cb527-8e5b-4f3e-bc76-cce33ef81b02", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.195335s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c606372-070b-47a7-98cc-1c5056f1a299 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.038169s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/32c9cd61-1dc7-4131-a796-2a81acfee9bc?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fbc6828c-b0f0-41a5-ba08-c035af03d10d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.038245s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/CUSTOM_DT1 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-a069d92a-3c31-4c6e-96f3-01246ecfab38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.061905s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/66be0f62-aba3-43a0-8475-2164b9de55ab WITH [{'path': '/name', 'value': 'new', 'op': 'replace'}] GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b436e36d-c5f5-4649-8cbf-91ddfd16881b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.034049s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/4f57666c-3b20-42fb-be31-f73dd7645bc0 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2261d33c-459a-498e-b5ae-8d33684d29b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4f57666c-3b20-42fb-be31-f73dd7645bc0", "created_at": "2024-03-19T00:19:55.671888+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/4f57666c-3b20-42fb-be31-f73dd7645bc0", "rel": "self"}, {"href": "http://localhost/allocations/4f57666c-3b20-42fb-be31-f73dd7645bc0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.030432s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/blah GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be2ae9c0-f1d1-4be1-bb3f-7a5f1330a7e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.296068s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/84010af1-b8f8-450b-ad62-166931641e73 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-d371deb1-00b6-4387-935d-a677dbf2e2da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:445: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: INFO [alembic.runtime.migration] Running stamp_revision -> 01f21d5e5195 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.036540s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/356fcd58-e164-48dd-8821-5d81f2d08b0b WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac6ccc5f-cfde-4228-b465-b5296cce336c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.034647s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/44b610ed-1d87-4512-a2ff-b2640ef6d4f6?fields=resource_class,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19593381-c8fd-464d-a5a0-1134a584a346 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"extra": {}, "resource_class": "baremetal", "links": [{"href": "http://localhost/v1/allocations/44b610ed-1d87-4512-a2ff-b2640ef6d4f6", "rel": "self"}, {"href": "http://localhost/allocations/44b610ed-1d87-4512-a2ff-b2640ef6d4f6", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.032693s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/CUSTOM_DT1.json GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-f5c78668-1518-4056-9cfc-e0158a4a724b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.029630s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/83f79e50-be96-42c8-9793-d32c95e99ae9 WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.038533s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/a5867488-7a99-4354-81f8-e31e8fd5667c WITH [{'path': '/name', 'value': 'b', 'op': 'replace'}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f70a0b72-67a4-4479-b3fe-01e4dbde8d47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation a5867488-7a99-4354-81f8-e31e8fd5667c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.030457s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/5ee1ea2b-aeda-42ac-b992-7d8fb38d985f GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-090cd23b-9834-4a75-8136-92719f06bd37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.026239s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/ba!na!na! WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.039877s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/23e6f8f4-ef18-4add-a005-08efdc7bb107 WITH [{'path': '/owner', 'value': '54321', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4cdbfc95-4d5d-4f15-8d47-4408a0711f0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.034004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/d2f180dd-73f5-4c2b-bb56-9b679911e949.json GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-da1de9b8-e10f-4e16-a0c8-da0648b02c85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.032175s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/cf4a7530-8c7d-4f31-9f34-c00c2d17f7a5.json WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d77c1c9c-3715-4c6d-890b-4d9279e277a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "cf4a7530-8c7d-4f31-9f34-c00c2d17f7a5", "created_at": "2024-03-19T00:19:55.796624+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/cf4a7530-8c7d-4f31-9f34-c00c2d17f7a5", "rel": "self"}, {"href": "http://localhost/allocations/cf4a7530-8c7d-4f31-9f34-c00c2d17f7a5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.027254s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/81c36f18-d4c9-48fc-a54e-0dfd75e8e8f7 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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.028042s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/CUSTOM_DT1 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.033289s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/00d91f9d-683a-4833-ae6e-34e2b9d441dc WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3addb822-b81c-4612-a418-3c0659ccde1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "00d91f9d-683a-4833-ae6e-34e2b9d441dc", "created_at": "2024-03-19T00:19:55.830598+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "pg.json", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/00d91f9d-683a-4833-ae6e-34e2b9d441dc", "rel": "self"}, {"href": "http://localhost/allocations/00d91f9d-683a-4833-ae6e-34e2b9d441dc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.063928s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd78c4738-a0af-48ad-bf23-e901bf6228e9', 'owner': None, 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/d78c4738-a0af-48ad-bf23-e901bf6228e9 DEBUG util.py:445: Openstack-Request-Id: req-b436df4a-7688-4adb-9784-3c030583c493 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d78c4738-a0af-48ad-bf23-e901bf6228e9", "created_at": "2024-03-19T00:19:55.844698+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/d78c4738-a0af-48ad-bf23-e901bf6228e9", "rel": "self"}, {"href": "http://localhost/allocations/d78c4738-a0af-48ad-bf23-e901bf6228e9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/d78c4738-a0af-48ad-bf23-e901bf6228e9 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccc58288-e599-4478-95b9-1e0417535447 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d78c4738-a0af-48ad-bf23-e901bf6228e9", "created_at": "2024-03-19T00:19:55.844698+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/d78c4738-a0af-48ad-bf23-e901bf6228e9", "rel": "self"}, {"href": "http://localhost/allocations/d78c4738-a0af-48ad-bf23-e901bf6228e9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.033636s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/2d18d3db-6a48-4958-846e-e578aa41e24e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c92be10-4db8-4f44-8ee4-727037b084b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2d18d3db-6a48-4958-846e-e578aa41e24e", "created_at": "2024-03-19T00:19:55.864214+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "pg.1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2d18d3db-6a48-4958-846e-e578aa41e24e", "rel": "self"}, {"href": "http://localhost/allocations/2d18d3db-6a48-4958-846e-e578aa41e24e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.032847s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/75360f7d-9670-4a16-ad27-ad4db7a5750c?fields=owner WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-245e43e9-67d1-44fb-a5a0-1330459b290b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"owner": "12345", "links": [{"href": "http://localhost/v1/allocations/75360f7d-9670-4a16-ad27-ad4db7a5750c", "rel": "self"}, {"href": "http://localhost/allocations/75360f7d-9670-4a16-ad27-ad4db7a5750c", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.189247s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/alloc1 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-f50826f6-0ac9-4fe2-b157-5debe3826a59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.055819s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22022b32-6054-46b3-b5f5-afaf97f35e26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"bios": [{"created_at": "2024-03-19T00:19:55.884123+00:00", "updated_at": null, "name": "virtualization", "value": "on", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.052258s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/92b83cfe-b5f5-49c8-8d09-c4d8373c997b DEBUG util.py:445: Openstack-Request-Id: req-8194cba5-c05e-4380-bb54-564abd9df2a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "92b83cfe-b5f5-49c8-8d09-c4d8373c997b", "created_at": "2024-03-19T00:19:55.899808+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/92b83cfe-b5f5-49c8-8d09-c4d8373c997b", "rel": "self"}, {"href": "http://localhost/allocations/92b83cfe-b5f5-49c8-8d09-c4d8373c997b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/92b83cfe-b5f5-49c8-8d09-c4d8373c997b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc15758a-ba47-4170-a650-1961e112ce7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "92b83cfe-b5f5-49c8-8d09-c4d8373c997b", "created_at": "2024-03-19T00:19:55.899808+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/92b83cfe-b5f5-49c8-8d09-c4d8373c997b", "rel": "self"}, {"href": "http://localhost/allocations/92b83cfe-b5f5-49c8-8d09-c4d8373c997b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.036689s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/blah GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12db8d37-8f7a-4d85-a81a-04bc9e07fc37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.051059s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68e80c64-726e-4757-bdc7-f65d0cdaa439 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5", "created_at": "2024-03-19T00:19:55.932693+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/a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5", "rel": "self"}, {"href": "http://localhost/allocations/a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c767f86-3a4a-4939-b48c-b14831d0b0d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5", "created_at": "2024-03-19T00:19:55.932693+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/a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5", "rel": "self"}, {"href": "http://localhost/allocations/a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /allocations/a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ae6da90-c08e-4f5b-b8ca-56ae2fe074c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5", "created_at": "2024-03-19T00:19:55.932693+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/a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5", "rel": "self"}, {"href": "http://localhost/allocations/a3ef5f4a-3059-4c88-83a7-a4b27c8be5c5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.038187s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/alloc1.json GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-fea95f8d-9860-4246-9c9c-1e941f1f8129 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.035832s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a7bf7d53-5b18-472c-af68-e1372e7e4519', 'owner': None, 'node': '1bdb4a00-9460-4df7-8d88-afbc9930634f'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d17391d-2478-45b2-97d8-b8e5b0efae90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1bdb4a00-9460-4df7-8d88-afbc9930634f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.044479s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=False WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45cfbe59-4f5c-445c-82f4-baa6a9dbbfc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"bios": [{"created_at": "2024-03-19T00:19:55.931646+00:00", "updated_at": null, "name": "virtualization", "value": "on", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.038913s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c62dc1f8-dde0-4cd9-a585-d8ead5a4a971 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.036699s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30ae5302-f56c-425f-bffb-18baee8e8c34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.048333s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce7a20ae-1711-4736-8b61-fcf298603885 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "0feb6aa0-4c9d-4fdd-a427-69d7a1c18422", "created_at": "2024-03-19T00:19:55.984774+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0feb6aa0-4c9d-4fdd-a427-69d7a1c18422", "rel": "self"}, {"href": "http://localhost/allocations/0feb6aa0-4c9d-4fdd-a427-69d7a1c18422", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "f6bb3064-5679-481b-8ce7-397b6ec36aeb", "created_at": "2024-03-19T00:19:55.985862+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f6bb3064-5679-481b-8ce7-397b6ec36aeb", "rel": "self"}, {"href": "http://localhost/allocations/f6bb3064-5679-481b-8ce7-397b6ec36aeb", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "6901938d-8f89-407e-b878-6f831bbaec91", "created_at": "2024-03-19T00:19:55.986770+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6901938d-8f89-407e-b878-6f831bbaec91", "rel": "self"}, {"href": "http://localhost/allocations/6901938d-8f89-407e-b878-6f831bbaec91", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "70f834cd-93a6-4f38-ab4d-a1035ae6aba7", "created_at": "2024-03-19T00:19:55.987667+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation3", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/70f834cd-93a6-4f38-ab4d-a1035ae6aba7", "rel": "self"}, {"href": "http://localhost/allocations/70f834cd-93a6-4f38-ab4d-a1035ae6aba7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "c12968d0-b682-40cd-a385-35854364a03f", "created_at": "2024-03-19T00:19:55.988580+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation4", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c12968d0-b682-40cd-a385-35854364a03f", "rel": "self"}, {"href": "http://localhost/allocations/c12968d0-b682-40cd-a385-35854364a03f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.037075s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.049762s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-43618ae0-a1c5-4b1a-b230-0c6b0ce0736c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.051955s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4a35fe97-5473-4f97-a1d0-9cd819586415', 'owner': None, 'node': 'backfill-me'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/4a35fe97-5473-4f97-a1d0-9cd819586415 DEBUG util.py:445: Openstack-Request-Id: req-e1108160-00d6-4f17-85b1-2b93275ef813 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4a35fe97-5473-4f97-a1d0-9cd819586415", "created_at": "2024-03-19T00:19:56.026757+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/4a35fe97-5473-4f97-a1d0-9cd819586415", "rel": "self"}, {"href": "http://localhost/allocations/4a35fe97-5473-4f97-a1d0-9cd819586415", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/4a35fe97-5473-4f97-a1d0-9cd819586415 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8185ad02-1216-4264-a01d-84d7fb836f05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4a35fe97-5473-4f97-a1d0-9cd819586415", "created_at": "2024-03-19T00:19:56.026757+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/4a35fe97-5473-4f97-a1d0-9cd819586415", "rel": "self"}, {"href": "http://localhost/allocations/4a35fe97-5473-4f97-a1d0-9cd819586415", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.036366s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e40c6328-8bd3-4b84-a41b-29be9f0eb95b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "b2f5e374-d462-4ec2-97ba-3b7ba12b553f", "created_at": "2024-03-19T00:19:56.034149+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/b2f5e374-d462-4ec2-97ba-3b7ba12b553f", "rel": "self"}, {"href": "http://localhost/allocations/b2f5e374-d462-4ec2-97ba-3b7ba12b553f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.034536s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_with_detail [0.053762s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21ad3bc3-0955-41c3-9ce3-e9d825e05062 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"bios": [{"created_at": "2024-03-19T00:19:56.063686+00:00", "updated_at": null, "name": "virtualization", "value": "on", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.044351s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?sort_key=uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acb0700e-e40a-4fde-a568-17c617059fee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "0388b8c2-4d74-48c8-8e05-66f13cbaa87b", "created_at": "2024-03-19T00:19:56.070893+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0388b8c2-4d74-48c8-8e05-66f13cbaa87b", "rel": "self"}, {"href": "http://localhost/allocations/0388b8c2-4d74-48c8-8e05-66f13cbaa87b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "108e8928-2a35-439b-96d5-c38e8cf7a305", "created_at": "2024-03-19T00:19:56.069835+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/108e8928-2a35-439b-96d5-c38e8cf7a305", "rel": "self"}, {"href": "http://localhost/allocations/108e8928-2a35-439b-96d5-c38e8cf7a305", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "3be3295a-e682-4fe6-87a1-055338b0a6d3", "created_at": "2024-03-19T00:19:56.071996+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3be3295a-e682-4fe6-87a1-055338b0a6d3", "rel": "self"}, {"href": "http://localhost/allocations/3be3295a-e682-4fe6-87a1-055338b0a6d3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.049368s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/59480cb9-2e92-44c6-966a-9e85869c7733 DEBUG util.py:445: Openstack-Request-Id: req-e2f7f6e8-1fe3-4fd3-80a6-f9b13b512444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "59480cb9-2e92-44c6-966a-9e85869c7733", "created_at": "2024-03-19T00:19:56.076890+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/59480cb9-2e92-44c6-966a-9e85869c7733", "rel": "self"}, {"href": "http://localhost/allocations/59480cb9-2e92-44c6-966a-9e85869c7733", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/59480cb9-2e92-44c6-966a-9e85869c7733 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9454bfb6-0ce3-41e5-9ac5-ce694a2e25c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "59480cb9-2e92-44c6-966a-9e85869c7733", "created_at": "2024-03-19T00:19:56.076890+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/59480cb9-2e92-44c6-966a-9e85869c7733", "rel": "self"}, {"href": "http://localhost/allocations/59480cb9-2e92-44c6-966a-9e85869c7733", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.041339s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/97feb410-c6be-4ec5-9930-cdc30b20aacd/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-205e37c8-28e3-4f6a-a69b-c7bdaf522ad7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node 97feb410-c6be-4ec5-9930-cdc30b20aacd was not found\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_detail_and_fields [0.035317s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True?fields=name,read_only WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7c97d1a-093a-4d1e-9dec-0d6f35aa1c8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.035077s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?sort_key=name WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9522e50f-b97a-45d7-a3ff-0018667dd3dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "c6c89c5d-844b-47c2-a9e8-ce597e3e2e67", "created_at": "2024-03-19T00:19:56.116196+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c6c89c5d-844b-47c2-a9e8-ce597e3e2e67", "rel": "self"}, {"href": "http://localhost/allocations/c6c89c5d-844b-47c2-a9e8-ce597e3e2e67", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "7ba14003-c840-4bb0-a4c3-a58f988dd43f", "created_at": "2024-03-19T00:19:56.115244+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7ba14003-c840-4bb0-a4c3-a58f988dd43f", "rel": "self"}, {"href": "http://localhost/allocations/7ba14003-c840-4bb0-a4c3-a58f988dd43f", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "e6df3555-264f-4655-9ea1-6c7920112849", "created_at": "2024-03-19T00:19:56.114279+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation3", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e6df3555-264f-4655-9ea1-6c7920112849", "rel": "self"}, {"href": "http://localhost/allocations/e6df3555-264f-4655-9ea1-6c7920112849", "rel": "bookmark"}], "node_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.042037s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '65d6a0f9-8312-4c60-b159-4581b646227b', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/65d6a0f9-8312-4c60-b159-4581b646227b DEBUG util.py:445: Openstack-Request-Id: req-437c310d-19aa-4591-9597-310d80138b45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "65d6a0f9-8312-4c60-b159-4581b646227b", "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/65d6a0f9-8312-4c60-b159-4581b646227b", "rel": "self"}, {"href": "http://localhost/allocations/65d6a0f9-8312-4c60-b159-4581b646227b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/65d6a0f9-8312-4c60-b159-4581b646227b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6f90b27-535d-4b95-aa7a-432c3ea9bd0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "65d6a0f9-8312-4c60-b159-4581b646227b", "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/65d6a0f9-8312-4c60-b159-4581b646227b", "rel": "self"}, {"href": "http://localhost/allocations/65d6a0f9-8312-4c60-b159-4581b646227b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.032403s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/6c8e7e45-08b8-4a72-b17a-16dbfb240da6 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.032761s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f4136f69-4b2d-4e23-9b1d-71632311fb13', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef7dfe7e-6d41-4426-abcc-58373c0c8a0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields [0.043584s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83834c4b-fa70-4e5e-a1fe-9ac6501563b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"bios": [{"created_at": "2024-03-19T00:19:56.141489+00:00", "updated_at": null, "name": "virtualization", "read_only": false, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.035440s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations?sort_key=foo WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73d07dee-05bf-464c-8a0f-d835d5065189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2543e0cf-4486-48e9-be98-e6f56e4f67d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b790d2ed-293f-4be5-b4c9-6be6640a00b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f80e59f4-9820-4b1d-8689-4b64f0520775 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.037313s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/ba!na!na1 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.041079s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b894a938-4f10-4b69-9414-3cfd67c87018 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.035086s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '645e94db-4291-4c43-8930-9f8342b23fc7', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-109b72e2-824d-4281-92e3-2708619637f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.033417s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/?limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-077fd9f7-6e10-4e8d-b65e-d4fe4298bb5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"chassis": [{"uuid": "f7a1fd4d-1c82-4e9b-93b9-eb2f697611fd", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/f7a1fd4d-1c82-4e9b-93b9-eb2f697611fd", "rel": "self"}, {"href": "http://localhost/chassis/f7a1fd4d-1c82-4e9b-93b9-eb2f697611fd", "rel": "bookmark"}]}, {"uuid": "f0edd84c-7ac6-4cb2-bcf8-04515a3a0984", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/f0edd84c-7ac6-4cb2-bcf8-04515a3a0984", "rel": "self"}, {"href": "http://localhost/chassis/f0edd84c-7ac6-4cb2-bcf8-04515a3a0984", "rel": "bookmark"}]}, {"uuid": "518a4cd3-afee-4c79-bd2f-a00b168dc433", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/518a4cd3-afee-4c79-bd2f-a00b168dc433", "rel": "self"}, {"href": "http://localhost/chassis/518a4cd3-afee-4c79-bd2f-a00b168dc433", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=518a4cd3-afee-4c79-bd2f-a00b168dc433"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.047732s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/ad9fc2b4-c128-490e-8c2b-d64b7300bcbc/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf0fdf6c-4924-4522-892b-fd81bdd06ed1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node ad9fc2b4-c128-490e-8c2b-d64b7300bcbc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.039460s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis?fields=extra,uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4e75640-e963-4dbf-9188-fe764467e90b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"chassis": [{"uuid": "4de121fc-fbba-4ceb-a7ac-a1174025485d", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/4de121fc-fbba-4ceb-a7ac-a1174025485d", "rel": "self"}, {"href": "http://localhost/chassis/4de121fc-fbba-4ceb-a7ac-a1174025485d", "rel": "bookmark"}]}, {"uuid": "4ba457b6-d502-4845-bca2-1c09f991f6d6", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/4ba457b6-d502-4845-bca2-1c09f991f6d6", "rel": "self"}, {"href": "http://localhost/chassis/4ba457b6-d502-4845-bca2-1c09f991f6d6", "rel": "bookmark"}]}, {"uuid": "70eb51fe-c4b2-4f3a-ab89-0c78a5361563", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/70eb51fe-c4b2-4f3a-ab89-0c78a5361563", "rel": "self"}, {"href": "http://localhost/chassis/70eb51fe-c4b2-4f3a-ab89-0c78a5361563", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=70eb51fe-c4b2-4f3a-ab89-0c78a5361563"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.040690s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '9d6a0ed5-5a14-4a66-a749-d4754f80f487', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/9d6a0ed5-5a14-4a66-a749-d4754f80f487 DEBUG util.py:445: Openstack-Request-Id: req-bb519a1c-e6cf-42c9-ba67-10e9b9c3fe34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9d6a0ed5-5a14-4a66-a749-d4754f80f487", "created_at": "2024-03-19T00:19:56.234393+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/9d6a0ed5-5a14-4a66-a749-d4754f80f487", "rel": "self"}, {"href": "http://localhost/allocations/9d6a0ed5-5a14-4a66-a749-d4754f80f487", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/9d6a0ed5-5a14-4a66-a749-d4754f80f487 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9af0612-64e6-46f8-bec4-03022893bb53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9d6a0ed5-5a14-4a66-a749-d4754f80f487", "created_at": "2024-03-19T00:19:56.234393+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/9d6a0ed5-5a14-4a66-a749-d4754f80f487", "rel": "self"}, {"href": "http://localhost/allocations/9d6a0ed5-5a14-4a66-a749-d4754f80f487", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.046534s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9442cf55-b4e0-49be-a785-ff84de596a4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"virtualization": {"created_at": "2024-03-19T00:19:56.230193+00:00", "updated_at": null, "name": "virtualization", "value": "on", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.031916s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-618a534e-3d82-4edd-9136-bcc4d12880c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"chassis": [{"uuid": "e418d4aa-92e8-4bc8-988b-8c0f3abe0515", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e418d4aa-92e8-4bc8-988b-8c0f3abe0515", "rel": "self"}, {"href": "http://localhost/chassis/e418d4aa-92e8-4bc8-988b-8c0f3abe0515", "rel": "bookmark"}]}, {"uuid": "c8885834-bb44-47ee-842a-243536ddc59e", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/c8885834-bb44-47ee-842a-243536ddc59e", "rel": "self"}, {"href": "http://localhost/chassis/c8885834-bb44-47ee-842a-243536ddc59e", "rel": "bookmark"}]}, {"uuid": "b31a25b4-d7d2-4843-bf17-8e4b5eb22b32", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/b31a25b4-d7d2-4843-bf17-8e4b5eb22b32", "rel": "self"}, {"href": "http://localhost/chassis/b31a25b4-d7d2-4843-bf17-8e4b5eb22b32", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=b31a25b4-d7d2-4843-bf17-8e4b5eb22b32"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.048880s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/2117289c-affb-4cab-b891-718b9e52d88c GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8c89187-0ce5-4f15-815e-c48f3902e83d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.036465s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0a5336e8-213f-40f0-9ee0-9dc27d0fbc2b', 'owner': None} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4aa91cc1-1450-40d8-b1b5-2bd34afc877e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.044624s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/fake_setting WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8625993a-fd9e-4fd3-8b22-f2f4c2ea4fd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.028051s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8a749a9-1c82-4060-b61b-36ce3048d64d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:56.288981+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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.042101s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/a52d4f86-2c42-4d61-a886-bb9e29563dc0 DEBUG util.py:445: Openstack-Request-Id: req-6c330089-fc4b-4b01-8b74-b35ed0dba24e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a52d4f86-2c42-4d61-a886-bb9e29563dc0", "created_at": "2024-03-19T00:19:56.313974+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/a52d4f86-2c42-4d61-a886-bb9e29563dc0", "rel": "self"}, {"href": "http://localhost/allocations/a52d4f86-2c42-4d61-a886-bb9e29563dc0", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/a52d4f86-2c42-4d61-a886-bb9e29563dc0 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1203c253-e8f7-4760-8588-cb19ad93396c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a52d4f86-2c42-4d61-a886-bb9e29563dc0", "created_at": "2024-03-19T00:19:56.313974+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/a52d4f86-2c42-4d61-a886-bb9e29563dc0", "rel": "self"}, {"href": "http://localhost/allocations/a52d4f86-2c42-4d61-a886-bb9e29563dc0", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.027189s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19642c72-7955-4754-89e8-2d56911379d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.050749s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/?limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-255c5ef7-d326-491b-9a01-5b2f6348519f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"conductors": [{"hostname": "d0c04351-4747-4df5-ac60-cd6e78b16ce8", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/d0c04351-4747-4df5-ac60-cd6e78b16ce8", "rel": "self"}, {"href": "http://localhost/conductors/d0c04351-4747-4df5-ac60-cd6e78b16ce8", "rel": "bookmark"}], "alive": true}, {"hostname": "5bd58a0e-8c2c-4c2e-8eea-d29459ae07df", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/5bd58a0e-8c2c-4c2e-8eea-d29459ae07df", "rel": "self"}, {"href": "http://localhost/conductors/5bd58a0e-8c2c-4c2e-8eea-d29459ae07df", "rel": "bookmark"}], "alive": true}, {"hostname": "7e1f8fe8-c888-4ab8-9084-ebb839485131", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/7e1f8fe8-c888-4ab8-9084-ebb839485131", "rel": "self"}, {"href": "http://localhost/conductors/7e1f8fe8-c888-4ab8-9084-ebb839485131", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=7e1f8fe8-c888-4ab8-9084-ebb839485131"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.035071s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.027575s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f5185962-c5b5-4002-93d5-c29adfb49db0', 'owner': None} 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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.030116s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37eba17b-446e-4a74-ac07-876c8247f40c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:56.347316+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_no_registry [0.044320s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f8b1519-6040-4399-a20e-8dc406873d60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"virtualization": {"created_at": "2024-03-19T00:19:56.358061+00:00", "updated_at": null, "name": "virtualization", "value": "on", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.039173s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors?fields=hostname,alive WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79af97c7-036f-4ee5-bd13-347a261ef77d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"conductors": [{"hostname": "febbce5d-c572-40f8-9400-f42bde31e888", "links": [{"href": "http://localhost/v1/conductors/febbce5d-c572-40f8-9400-f42bde31e888", "rel": "self"}, {"href": "http://localhost/conductors/febbce5d-c572-40f8-9400-f42bde31e888", "rel": "bookmark"}], "alive": true}, {"hostname": "a3f51bd7-9ab4-4c39-8fde-97312d6a25b5", "links": [{"href": "http://localhost/v1/conductors/a3f51bd7-9ab4-4c39-8fde-97312d6a25b5", "rel": "self"}, {"href": "http://localhost/conductors/a3f51bd7-9ab4-4c39-8fde-97312d6a25b5", "rel": "bookmark"}], "alive": true}, {"hostname": "5c207a9a-f29d-46f0-ac1f-c58050350dc2", "links": [{"href": "http://localhost/v1/conductors/5c207a9a-f29d-46f0-ac1f-c58050350dc2", "rel": "self"}, {"href": "http://localhost/conductors/5c207a9a-f29d-46f0-ac1f-c58050350dc2", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=5c207a9a-f29d-46f0-ac1f-c58050350dc2"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.038460s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '11b40ffb-5764-483e-af6d-96b87df6ddc6', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c65f6724-dd4a-40fb-8df4-14674770ce3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.030443s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60e9889f-35ca-420f-b3e2-e4dbac2bab68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: GET /v1/chassis?detail=False WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24193090-a828-4552-b012-19ce0e85dc55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.026503s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis?detail=True&fields=description WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4cc9d46-61d1-40d1-805e-ce215c792fd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeFirmwareComponent.test_get_all_firmware_components [0.043753s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52e9802e-28a9-49e8-9172-1967936b59f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.86 DEBUG util.py:445: {"firmware": [{"created_at": "2024-03-19T00:19:56.402026+00:00", "updated_at": null, "component": "BIOS", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}, {"created_at": "2024-03-19T00:19:56.401007+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.036000s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': '9c7cbeb1-d5ca-40a8-b3ce-a96e9302901d', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cfa634e7-c999-4439-8fa0-961949abfed2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'FOO_BAR' is not valid under any of the given schemas. Possible root cause: 'FOO_BAR' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.044080s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-920ebaf4-d3ee-442c-919e-295adf10e02b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"conductors": [{"hostname": "b71e8c11-ce5c-4b73-a093-f3debc1b58bd", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/b71e8c11-ce5c-4b73-a093-f3debc1b58bd", "rel": "self"}, {"href": "http://localhost/conductors/b71e8c11-ce5c-4b73-a093-f3debc1b58bd", "rel": "bookmark"}], "alive": true}, {"hostname": "4d6c5fe1-18bc-4acb-b398-2203278064f5", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/4d6c5fe1-18bc-4acb-b398-2203278064f5", "rel": "self"}, {"href": "http://localhost/conductors/4d6c5fe1-18bc-4acb-b398-2203278064f5", "rel": "bookmark"}], "alive": true}, {"hostname": "edc0c8b0-c6fb-4691-8188-81311a91763a", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/edc0c8b0-c6fb-4691-8188-81311a91763a", "rel": "self"}, {"href": "http://localhost/conductors/edc0c8b0-c6fb-4691-8188-81311a91763a", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=edc0c8b0-c6fb-4691-8188-81311a91763a"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.030726s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02e88010-9466-443b-af1c-a26b25fc090e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"conductors": []} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.027725s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis?detail=False&fields=description WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfd36a13-02f5-4b5e-9393-a2bc013b58fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeFirmwareComponent.test_wrong_version_get_all_firmware_components_old_version [0.037726s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.034217s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': '5404be6c-7eb2-409f-965f-6ff0cce310f5', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-789cf43f-a05b-4536-bcb7-1fe4439d02ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.026679s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis?detail=True WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d2ed564-e8b7-4ee6-8f26-df0f7754d097 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.038444s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors?fields=hostname,alive WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8158ff1-08da-4dc1-9942-0f2fe8490dcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.026275s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-548b65c8-296b-401d-b267-9bce6fe3484f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"chassis": []} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.041442s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'bacad119-7fb2-47e0-bcac-87d9c96882a5', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/bacad119-7fb2-47e0-bcac-87d9c96882a5 DEBUG util.py:445: Openstack-Request-Id: req-4deb332f-800d-4d11-b143-874a46c5f31e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "bacad119-7fb2-47e0-bcac-87d9c96882a5", "created_at": "2024-03-19T00:19:56.492923+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/bacad119-7fb2-47e0-bcac-87d9c96882a5", "rel": "self"}, {"href": "http://localhost/allocations/bacad119-7fb2-47e0-bcac-87d9c96882a5", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/bacad119-7fb2-47e0-bcac-87d9c96882a5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-507ccd0e-a2b5-41d8-a0f6-b36b618929ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "bacad119-7fb2-47e0-bcac-87d9c96882a5", "created_at": "2024-03-19T00:19:56.492923+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/bacad119-7fb2-47e0-bcac-87d9c96882a5", "rel": "self"}, {"href": "http://localhost/allocations/bacad119-7fb2-47e0-bcac-87d9c96882a5", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeInventory.test_get_inventory [0.045198s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eca76160-c856-4c04-a0b1-7911ff9dbe73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.81 DEBUG util.py:445: {"inventory": {"cpu": {"count": 1, "model_name": "qemu64", "architecture": "x86_64"}}, "plugin_data": {"disks": [{"name": "/dev/vda"}]}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.034300s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/rocky.rocks?fields=hostname,spongebob WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ceb3fc4d-dab0-4779-81ee-3b01bc6c9a2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeInventory.test_get_inventory_no_inventory [0.035383s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aa69e5c-d7c3-4c20-b1e4-e2a2761a6b3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.81 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node inventory record for node 1 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.037602s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis?fields=uuid,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5265ab40-84a7-4fac-bc88-a68bc128289d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"chassis": [{"uuid": "d2bfea80-f4f3-419a-91ae-b0a3742777be", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/d2bfea80-f4f3-419a-91ae-b0a3742777be", "rel": "self"}, {"href": "http://localhost/chassis/d2bfea80-f4f3-419a-91ae-b0a3742777be", "rel": "bookmark"}]}, {"uuid": "df707a98-7cac-4f2c-8a88-e23e1eccf6b7", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/df707a98-7cac-4f2c-8a88-e23e1eccf6b7", "rel": "self"}, {"href": "http://localhost/chassis/df707a98-7cac-4f2c-8a88-e23e1eccf6b7", "rel": "bookmark"}]}, {"uuid": "a1bc04d3-d85e-41d1-8755-1d9db6eed28d", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/a1bc04d3-d85e-41d1-8755-1d9db6eed28d", "rel": "self"}, {"href": "http://localhost/chassis/a1bc04d3-d85e-41d1-8755-1d9db6eed28d", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.040795s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': '847f7298-6ae9-4e38-b04a-3856d02752ae', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c7b7d8b-ba37-4ca6-9a08-4057c43292d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource_class field is mandatory when not backfilling\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.035357s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc2fc99d-fc55-4d07-8fee-eb8eb1b82ea1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:19:56.542116+00:00", "updated_at": "2024-03-19T00:19:56.541888+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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.032114s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis?fields=extra&limit=2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca6ba394-bd2a-431f-91c7-08e39fced674 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"chassis": [{"extra": {}, "links": [{"href": "http://localhost/v1/chassis/6d0b0fe3-e400-419a-b5eb-7d30313c1608", "rel": "self"}, {"href": "http://localhost/chassis/6d0b0fe3-e400-419a-b5eb-7d30313c1608", "rel": "bookmark"}]}, {"extra": {}, "links": [{"href": "http://localhost/v1/chassis/164b1e6c-37a5-4e96-a3d5-dd0a37bd7f76", "rel": "self"}, {"href": "http://localhost/chassis/164b1e6c-37a5-4e96-a3d5-dd0a37bd7f76", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=164b1e6c-37a5-4e96-a3d5-dd0a37bd7f76"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeInventory.test_get_old_version [0.036023s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.039301s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'bc335364-4e7f-4dcc-ac1c-e801831604c7', 'owner': '12345'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/bc335364-4e7f-4dcc-ac1c-e801831604c7 DEBUG util.py:445: Openstack-Request-Id: req-784efe51-4038-48a9-9bbb-1768fabcb6ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "bc335364-4e7f-4dcc-ac1c-e801831604c7", "created_at": "2024-03-19T00:19:56.574889+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/bc335364-4e7f-4dcc-ac1c-e801831604c7", "rel": "self"}, {"href": "http://localhost/allocations/bc335364-4e7f-4dcc-ac1c-e801831604c7", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/bc335364-4e7f-4dcc-ac1c-e801831604c7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42c2cade-b8d0-46e2-a949-1a49fc9a2db0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "bc335364-4e7f-4dcc-ac1c-e801831604c7", "created_at": "2024-03-19T00:19:56.574889+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/bc335364-4e7f-4dcc-ac1c-e801831604c7", "rel": "self"}, {"href": "http://localhost/allocations/bc335364-4e7f-4dcc-ac1c-e801831604c7", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.036756s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ae67551-2736-4ac2-84da-b5143e4b16bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach [0.040494s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom', 'image_url': 'https://image', 'image_download_source': 'http'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-eb8540de-8bf5-4b5e-81bb-707521906b66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.039648s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a14c32da-9125-42ba-a576-247035a66969', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/a14c32da-9125-42ba-a576-247035a66969 DEBUG util.py:445: Openstack-Request-Id: req-31601199-7630-4a4a-89dd-de14a8052531 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a14c32da-9125-42ba-a576-247035a66969", "created_at": "2024-03-19T00:19:56.615596+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/a14c32da-9125-42ba-a576-247035a66969", "rel": "self"}, {"href": "http://localhost/allocations/a14c32da-9125-42ba-a576-247035a66969", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/a14c32da-9125-42ba-a576-247035a66969 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aab7416f-16e8-4d70-acfc-0ec03439bdd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a14c32da-9125-42ba-a576-247035a66969", "created_at": "2024-03-19T00:19:56.615596+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/a14c32da-9125-42ba-a576-247035a66969", "rel": "self"}, {"href": "http://localhost/allocations/a14c32da-9125-42ba-a576-247035a66969", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.032696s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/rocky.rocks?fields=hostname,alive WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-096bac53-531b-4b60-a5b3-aa3b4edd71db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_invalid_device_type [0.034333s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cat', 'image_url': 'http://image'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a0f9198-a5d1-4998-8cf8-9e02796498b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vmedia: 'cat' is not one of ['disk', 'cdrom', 'floppy']\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.031414s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/rocky.rocks WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1f53864-3782-46f3-b143-2ca5a8d40e9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.033284s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0241d536-f959-4d4d-ab21-569ceca28a83', 'owner': '12345'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e3de0e3-02d0-407d-adb9-e58fe19835af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_port_and_v6 [0.033078s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/[::1]:8090 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-183ba149-87f5-471c-812a-87f06af51202 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:19:56.680243+00:00", "updated_at": "2024-03-19T00:19:56.679961+00:00", "hostname": "[::1]:8090", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/[::1]:8090", "rel": "self"}, {"href": "http://localhost/conductors/[::1]:8090", "rel": "bookmark"}], "alive": true} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.038643s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a2e34435-e8e3-4843-a369-bb9e79973f0a', 'owner': '12345'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b955b02f-022f-43b7-9463-fd778fd7d733 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with an owner Project ID value 12345 not matching the requester Project ID 0987. Policy baremetal:allocation:create_restricted is required for this capability.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.032256s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': '64ef987c-2a34-4928-af0b-95576a197a17', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-143e5f47-44da-44fb-930e-00390245d33b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.166595s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5de1c9df-207c-4813-8bbb-89cc78b95594 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.036574s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8bc7c47d-5998-4d6f-ae07-1f2f474e20a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:19:56.710631+00:00", "updated_at": "2024-03-19T00:19:56.710415+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b9f8d68-d8fb-44aa-8cf8-9f49767be6a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:19:56.710631+00:00", "updated_at": "2024-03-19T00:19:56.710415+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f48aaa5-6f0a-44ea-a797-1eb33b5fb55f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:19:56.710631+00:00", "updated_at": "2024-03-19T00:19:56.710415+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_invalid_image_url [0.084027s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom', 'image_url': 'abcd'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59e0cd34-2337-455f-b2f7-1c83984676f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unsupported or missing URL scheme: \", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.040400s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a557c268-d45a-41fd-a676-e03181ebb11b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:19:56.751905+00:00", "updated_at": "2024-03-19T00:19:56.751684+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dff9d938-7b6d-4576-b8c2-0143fdb9b6c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:19:56.751905+00:00", "updated_at": "2024-03-19T00:19:56.751684+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0ec3d2f-4ec3-4a87-8ed8-2a0f84c78768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:19:56.751905+00:00", "updated_at": "2024-03-19T00:19:56.751684+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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.027694s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0689eda5-7cb8-420b-b177-6e3c260ffa8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.037890s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '7e7e057a-8f6c-4d92-be4f-f79e6ccbc10c', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/7e7e057a-8f6c-4d92-be4f-f79e6ccbc10c DEBUG util.py:445: Openstack-Request-Id: req-c49c7ec1-ca52-4234-b12b-bf244411fb46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7e7e057a-8f6c-4d92-be4f-f79e6ccbc10c", "created_at": "2024-03-19T00:19:56.759087+00:00", "updated_at": null, "candidate_nodes": [], "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7e7e057a-8f6c-4d92-be4f-f79e6ccbc10c", "rel": "self"}, {"href": "http://localhost/allocations/7e7e057a-8f6c-4d92-be4f-f79e6ccbc10c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/7e7e057a-8f6c-4d92-be4f-f79e6ccbc10c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2f7e9e8-9397-4c01-8385-85c9d0e56e4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7e7e057a-8f6c-4d92-be4f-f79e6ccbc10c", "created_at": "2024-03-19T00:19:56.759087+00:00", "updated_at": null, "candidate_nodes": [], "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7e7e057a-8f6c-4d92-be4f-f79e6ccbc10c", "rel": "self"}, {"href": "http://localhost/allocations/7e7e057a-8f6c-4d92-be4f-f79e6ccbc10c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.028168s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7c2c3a0-7559-4c87-b6b4-e004df06af47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:56.782480+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_missing_device_type [0.058360s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'image_url': 'http://image'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2904f38-158b-47da-bb41-092d6086d37a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vmedia: 'device_type' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.036968s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9b1ec52-5597-458c-ac95-435d46729164 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.042904s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': ['node-1', '2eb13ce5-9b7c-4611-91f2-0c7dd81fd118'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0fab6eac-6e89-4950-84c2-ce069bb23ca6', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/0fab6eac-6e89-4950-84c2-ce069bb23ca6 DEBUG util.py:445: Openstack-Request-Id: req-f46d8f41-1cea-4fc9-bc21-ea410b2007d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "0fab6eac-6e89-4950-84c2-ce069bb23ca6", "created_at": "2024-03-19T00:19:56.803244+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "2eb13ce5-9b7c-4611-91f2-0c7dd81fd118"], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0fab6eac-6e89-4950-84c2-ce069bb23ca6", "rel": "self"}, {"href": "http://localhost/allocations/0fab6eac-6e89-4950-84c2-ce069bb23ca6", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/0fab6eac-6e89-4950-84c2-ce069bb23ca6 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-399dcd96-7cef-4d49-87ce-ad0da7b51311 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "0fab6eac-6e89-4950-84c2-ce069bb23ca6", "created_at": "2024-03-19T00:19:56.803244+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "2eb13ce5-9b7c-4611-91f2-0c7dd81fd118"], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0fab6eac-6e89-4950-84c2-ce069bb23ca6", "rel": "self"}, {"href": "http://localhost/allocations/0fab6eac-6e89-4950-84c2-ce069bb23ca6", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.027154s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=extra,description WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9039fde3-922f-41aa-b400-8da4bc0ff142 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.033848s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors?detail=true WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-384f1ea0-6c99-4b31-82f2-5e0d06935a08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"conductors": [{"created_at": "2024-03-19T00:19:56.828402+00:00", "updated_at": "2024-03-19T00:19:56.828195+00:00", "hostname": "why care", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/why care", "rel": "self"}, {"href": "http://localhost/conductors/why care", "rel": "bookmark"}], "alive": true}, {"created_at": "2024-03-19T00:19:56.829627+00:00", "updated_at": "2024-03-19T00:19:56.829471+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_missing_image_url [0.057629s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36c2d69b-f60f-437d-b78b-64b07a77cdd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vmedia: 'image_url' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.033098s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/b86aca28-e5cc-444f-a38d-370d13a311be WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9864bb36-2141-4922-869a-e532f795f692 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "b86aca28-e5cc-444f-a38d-370d13a311be", "created_at": "2024-03-19T00:19:56.837039+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/b86aca28-e5cc-444f-a38d-370d13a311be", "rel": "self"}, {"href": "http://localhost/chassis/b86aca28-e5cc-444f-a38d-370d13a311be", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/b86aca28-e5cc-444f-a38d-370d13a311be/nodes", "rel": "self"}, {"href": "http://localhost/chassis/b86aca28-e5cc-444f-a38d-370d13a311be/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/b86aca28-e5cc-444f-a38d-370d13a311be WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9aa31c1e-a37e-469d-9a62-125ede9acab5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "b86aca28-e5cc-444f-a38d-370d13a311be", "created_at": "2024-03-19T00:19:56.837039+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/b86aca28-e5cc-444f-a38d-370d13a311be", "rel": "self"}, {"href": "http://localhost/chassis/b86aca28-e5cc-444f-a38d-370d13a311be", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/b86aca28-e5cc-444f-a38d-370d13a311be/nodes", "rel": "self"}, {"href": "http://localhost/chassis/b86aca28-e5cc-444f-a38d-370d13a311be/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /chassis/b86aca28-e5cc-444f-a38d-370d13a311be WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8edf01f-5f59-40d7-b387-a82202147a8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "b86aca28-e5cc-444f-a38d-370d13a311be", "created_at": "2024-03-19T00:19:56.837039+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/b86aca28-e5cc-444f-a38d-370d13a311be", "rel": "self"}, {"href": "http://localhost/chassis/b86aca28-e5cc-444f-a38d-370d13a311be", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/b86aca28-e5cc-444f-a38d-370d13a311be/nodes", "rel": "self"}, {"href": "http://localhost/chassis/b86aca28-e5cc-444f-a38d-370d13a311be/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.026070s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3476678b-6599-4387-8bfc-4ed7362c192e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_required_only [0.036871s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom', 'image_url': 'http://image'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-74b8a77f-d516-4189-b4da-c97d671ccba3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.032640s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/453b3589-4039-4212-9598-7b41ae1dd377 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7acc0a4-4315-48c2-9612-a34ce24cd8f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "453b3589-4039-4212-9598-7b41ae1dd377", "created_at": "2024-03-19T00:19:56.870611+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/453b3589-4039-4212-9598-7b41ae1dd377", "rel": "self"}, {"href": "http://foo/chassis/453b3589-4039-4212-9598-7b41ae1dd377", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/453b3589-4039-4212-9598-7b41ae1dd377/nodes", "rel": "self"}, {"href": "http://foo/chassis/453b3589-4039-4212-9598-7b41ae1dd377/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/453b3589-4039-4212-9598-7b41ae1dd377 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c7d2a33-9756-4adc-8b86-5ee1be96b040 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "453b3589-4039-4212-9598-7b41ae1dd377", "created_at": "2024-03-19T00:19:56.870611+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/453b3589-4039-4212-9598-7b41ae1dd377", "rel": "self"}, {"href": "http://foo/chassis/453b3589-4039-4212-9598-7b41ae1dd377", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/453b3589-4039-4212-9598-7b41ae1dd377/nodes", "rel": "self"}, {"href": "http://foo/chassis/453b3589-4039-4212-9598-7b41ae1dd377/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /chassis/453b3589-4039-4212-9598-7b41ae1dd377 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-faeee838-01c3-4f00-a3bb-5e9f740ec579 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "453b3589-4039-4212-9598-7b41ae1dd377", "created_at": "2024-03-19T00:19:56.870611+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/453b3589-4039-4212-9598-7b41ae1dd377", "rel": "self"}, {"href": "http://foo/chassis/453b3589-4039-4212-9598-7b41ae1dd377", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/453b3589-4039-4212-9598-7b41ae1dd377/nodes", "rel": "self"}, {"href": "http://foo/chassis/453b3589-4039-4212-9598-7b41ae1dd377/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.040529s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors?sort_key=hostname WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48525a1c-524b-43cd-8074-1fc7bcf0518f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"conductors": [{"hostname": "0340ee59-e712-4d9b-b3e5-222f9d15c389", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/0340ee59-e712-4d9b-b3e5-222f9d15c389", "rel": "self"}, {"href": "http://localhost/conductors/0340ee59-e712-4d9b-b3e5-222f9d15c389", "rel": "bookmark"}], "alive": true}, {"hostname": "0f846844-06f6-4e77-a044-a0003be7796a", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/0f846844-06f6-4e77-a044-a0003be7796a", "rel": "self"}, {"href": "http://localhost/conductors/0f846844-06f6-4e77-a044-a0003be7796a", "rel": "bookmark"}], "alive": true}, {"hostname": "3ac19ab4-ce2e-464c-a429-455cc8cb9800", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/3ac19ab4-ce2e-464c-a429-455cc8cb9800", "rel": "self"}, {"href": "http://localhost/conductors/3ac19ab4-ce2e-464c-a429-455cc8cb9800", "rel": "bookmark"}], "alive": true}, {"hostname": "85d836e2-4fe9-4645-b515-3e3d4846605c", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/85d836e2-4fe9-4645-b515-3e3d4846605c", "rel": "self"}, {"href": "http://localhost/conductors/85d836e2-4fe9-4645-b515-3e3d4846605c", "rel": "bookmark"}], "alive": true}, {"hostname": "ebf0f09a-4dc3-42b0-b3a3-3d7f1370ab0f", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/ebf0f09a-4dc3-42b0-b3a3-3d7f1370ab0f", "rel": "self"}, {"href": "http://localhost/conductors/ebf0f09a-4dc3-42b0-b3a3-3d7f1370ab0f", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.031876s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5aec880a-9cb9-4a2f-962b-72e53922142b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"chassis": [{"uuid": "e567ab7f-4a9e-4b87-9bea-b5b90bd0d4ae", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e567ab7f-4a9e-4b87-9bea-b5b90bd0d4ae", "rel": "self"}, {"href": "http://localhost/chassis/e567ab7f-4a9e-4b87-9bea-b5b90bd0d4ae", "rel": "bookmark"}]}, {"uuid": "9794a60a-86e0-4040-b6be-6ce202c86414", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/9794a60a-86e0-4040-b6be-6ce202c86414", "rel": "self"}, {"href": "http://localhost/chassis/9794a60a-86e0-4040-b6be-6ce202c86414", "rel": "bookmark"}]}, {"uuid": "2696f075-eb40-4d8b-b37a-d4c632122302", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/2696f075-eb40-4d8b-b37a-d4c632122302", "rel": "self"}, {"href": "http://localhost/chassis/2696f075-eb40-4d8b-b37a-d4c632122302", "rel": "bookmark"}]}, {"uuid": "32f1ad8d-e611-4da3-9cb2-7a84b719ef62", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/32f1ad8d-e611-4da3-9cb2-7a84b719ef62", "rel": "self"}, {"href": "http://localhost/chassis/32f1ad8d-e611-4da3-9cb2-7a84b719ef62", "rel": "bookmark"}]}, {"uuid": "29b4aaa6-078e-400b-a9d4-d1631f656c65", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/29b4aaa6-078e-400b-a9d4-d1631f656c65", "rel": "self"}, {"href": "http://localhost/chassis/29b4aaa6-078e-400b-a9d4-d1631f656c65", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_wrong_version [0.033502s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom', 'image_url': 'http://image'} 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: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.030333s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors?sort_key=alive WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-debe206d-188d-4c22-9b4e-ce8f38ca4299 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e4340c6-803e-4069-90d7-6216fa4b89bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_everything [0.034321s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-8a753144-23d2-41a1-9a13-573fd8128a33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.045934s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a68c1307-70a1-4769-a24d-a8819f79b8b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "4c50d1b4-b206-4171-bc38-c97b79875e4a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/4c50d1b4-b206-4171-bc38-c97b79875e4a", "rel": "self"}, {"href": "http://localhost/nodes/4c50d1b4-b206-4171-bc38-c97b79875e4a", "rel": "bookmark"}]}, {"uuid": "28db4ac8-3be8-45e2-80ae-7e0deee547f6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/28db4ac8-3be8-45e2-80ae-7e0deee547f6", "rel": "self"}, {"href": "http://localhost/nodes/28db4ac8-3be8-45e2-80ae-7e0deee547f6", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e19eff0-f62c-4054-9f66-b1f7b51c30c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "4c50d1b4-b206-4171-bc38-c97b79875e4a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/4c50d1b4-b206-4171-bc38-c97b79875e4a", "rel": "self"}, {"href": "http://localhost/nodes/4c50d1b4-b206-4171-bc38-c97b79875e4a", "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=4c50d1b4-b206-4171-bc38-c97b79875e4a"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.028291s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6aa7d1b4-8851-46cc-8454-7c945131457e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_several_via_argument [0.036311s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia?device_types=cdrom&device_types=disk GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-04960a86-e13e-482e-bee0-3b738579fb4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.071560s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/0d771fa9-7591-4e6b-887c-db9490b9358b WITH [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 10}, 'op': 'add'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 10}, 'op': 'add'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 10}, 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4240851-4a5f-47cc-b37b-cbe31b5e802d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "0d771fa9-7591-4e6b-887c-db9490b9358b", "created_at": "2024-03-19T00:19:56.962745+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/0d771fa9-7591-4e6b-887c-db9490b9358b", "rel": "self"}, {"href": "http://localhost/deploy_templates/0d771fa9-7591-4e6b-887c-db9490b9358b", "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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.027682s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9bd227f-9491-489b-8f1c-e553e506c1b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.012058+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_specific_via_argument [0.043806s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia?device_types=cdrom GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-f7e54dcc-5cda-476b-8970-1de269d70370 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.034493s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/80c83630-879a-4dc7-94ef-2e5311ccf5a6 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d79eedee-d03d-43d8-8012-fd52762d26cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.259425s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'fccce9ec-5aee-43a0-859b-60eb81e2d7d5', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/fccce9ec-5aee-43a0-859b-60eb81e2d7d5 DEBUG util.py:445: Openstack-Request-Id: req-3905a747-3547-4488-a02c-d880e982f65f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fccce9ec-5aee-43a0-859b-60eb81e2d7d5", "created_at": "2024-03-19T00:19:57.065693+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fccce9ec-5aee-43a0-859b-60eb81e2d7d5", "rel": "self"}, {"href": "http://localhost/allocations/fccce9ec-5aee-43a0-859b-60eb81e2d7d5", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.027910s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/nodes WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51ee4ca5-cc32-48aa-be51-1441856cb0b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.030442s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33658d11-ed99-4827-b599-335cce04a576 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 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.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.044613s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/e4b02eb7-53bc-4079-880e-2230a33ce41b WITH [{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dbc2e69c-eaf1-4ffb-8baa-7775d38ddd1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_specific_via_url [0.047100s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia/cdrom GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e7b4f3c7-f52e-413f-8aaa-62b9c060d5fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.031760s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis?sort_key=uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d715d809-c908-4b30-b118-4510a0e7aada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"chassis": [{"uuid": "4085c09a-23be-4960-806e-1b6e914e760a", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/4085c09a-23be-4960-806e-1b6e914e760a", "rel": "self"}, {"href": "http://localhost/chassis/4085c09a-23be-4960-806e-1b6e914e760a", "rel": "bookmark"}]}, {"uuid": "9d57b513-17a5-453c-b32a-d2268460de11", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/9d57b513-17a5-453c-b32a-d2268460de11", "rel": "self"}, {"href": "http://localhost/chassis/9d57b513-17a5-453c-b32a-d2268460de11", "rel": "bookmark"}]}, {"uuid": "d8cc981a-6b83-47df-a24b-420c1f8805cf", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/d8cc981a-6b83-47df-a24b-420c1f8805cf", "rel": "self"}, {"href": "http://localhost/chassis/d8cc981a-6b83-47df-a24b-420c1f8805cf", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.040268s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': 'c1b32b0d-a54a-4941-ab46-1da89986e497', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/c1b32b0d-a54a-4941-ab46-1da89986e497 DEBUG util.py:445: Openstack-Request-Id: req-330f5ef7-3c4a-4838-9f7e-0799a4eebc0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c1b32b0d-a54a-4941-ab46-1da89986e497", "created_at": "2024-03-19T00:19:57.103016+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": ["CUSTOM_GPU", "CUSTOM_FOO_BAR"], "links": [{"href": "http://localhost/v1/allocations/c1b32b0d-a54a-4941-ab46-1da89986e497", "rel": "self"}, {"href": "http://localhost/allocations/c1b32b0d-a54a-4941-ab46-1da89986e497", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/c1b32b0d-a54a-4941-ab46-1da89986e497 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-772451b7-aa24-4005-b071-569312cdecd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c1b32b0d-a54a-4941-ab46-1da89986e497", "created_at": "2024-03-19T00:19:57.103016+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": ["CUSTOM_GPU", "CUSTOM_FOO_BAR"], "links": [{"href": "http://localhost/v1/allocations/c1b32b0d-a54a-4941-ab46-1da89986e497", "rel": "self"}, {"href": "http://localhost/allocations/c1b32b0d-a54a-4941-ab46-1da89986e497", "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.029799s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '76066354-1221-4596-94da-e469528d2dde', 'owner': None} 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.038435s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/a41374ef-8a4f-4f5b-acd2-c974bb04a9b6 WITH [{'path': '/foo', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-604e4d34-2d84-47cd-817e-8af61bbb06e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.028765s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis?sort_key=foo WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acdc4f6a-c637-443c-88f3-c32dd303f6a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-353e2649-547a-467d-9ee2-6f819f3a91c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_wrong_device_types [0.054976s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia?device_types=cdrom,cat GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0acf1bda-133e-4a7f-8e73-c5c7ff5b3c05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid device type(s) cat (valid are disk, cdrom, floppy)\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.042977s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ef9643f-023c-4f73-a60d-f4e50bf7ce68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.162186+00:00", "updated_at": "2024-03-19T00:19:57.174278+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9be88a2-eb12-44b4-b375-d454cc7479c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.162186+00:00", "updated_at": "2024-03-19T00:19:57.174278+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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.069183s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'edce49ef-3746-428b-a80b-b494b2dbe6de', 'owner': None, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c104dd0a-766f-428f-9964-957cef0158a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: Additional properties are not allowed ('node_uuid' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_wrong_version [0.028056s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.066710s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/61d982a1-f37d-4fc8-99c6-3ad404685146 WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afbac416-0a55-448f-8948-92c3ed5ec43f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "61d982a1-f37d-4fc8-99c6-3ad404685146", "created_at": "2024-03-19T00:19:57.164724+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/61d982a1-f37d-4fc8-99c6-3ad404685146", "rel": "self"}, {"href": "http://localhost/deploy_templates/61d982a1-f37d-4fc8-99c6-3ad404685146", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.036988s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/description', 'value': 'test', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9da3109-c6f5-43d0-b72c-56c450417375 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.205814+00:00", "updated_at": "2024-03-19T00:19:57.216692+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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.031348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38b4a593-129d-43f0-a632-d84561419be9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.055187s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/75fa0ba2-6fa2-4d29-ab70-4a78ce4345c8 WITH [{'path': '/name', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42c84212-efee-48cd-90ac-d5b93340e969 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.088119s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-b6115486-cb9f-4a04-a08d-86d56b76d507 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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", "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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86290133-dd2a-459f-b3ef-6e9180c30ec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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", "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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.033092s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0ca3f2c-e968-4bc8-a952-b52610bff6a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_deprecated_without_owner [0.078472s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'cb18f313-8ead-4768-8108-0b24efc36c52', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/cb18f313-8ead-4768-8108-0b24efc36c52 DEBUG util.py:445: Openstack-Request-Id: req-0255ec4c-aa43-498d-9c77-7fe653dc1342 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "cb18f313-8ead-4768-8108-0b24efc36c52", "created_at": "2024-03-19T00:19:57.281329+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/cb18f313-8ead-4768-8108-0b24efc36c52", "rel": "self"}, {"href": "http://localhost/allocations/cb18f313-8ead-4768-8108-0b24efc36c52", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/cb18f313-8ead-4768-8108-0b24efc36c52 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ec3f419-528f-430d-a653-bdf58f6ac88d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "cb18f313-8ead-4768-8108-0b24efc36c52", "created_at": "2024-03-19T00:19:57.281329+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/cb18f313-8ead-4768-8108-0b24efc36c52", "rel": "self"}, {"href": "http://localhost/allocations/cb18f313-8ead-4768-8108-0b24efc36c52", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.033871s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/bdb6e4b7-fd95-4aab-8ab9-437df1051f21 WITH [{'path': '/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc7a2f35-7354-4abd-8a31-7f88e48c22ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.035068s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/de6bac5f-ce17-4243-8632-5496743f8c37 WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d60bb1a1-ce4b-4f74-a329-f3923de46e8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.057221s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5 WITH [{'path': '/extra/foo2', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54d663c5-6c8e-48ab-8fc8-63672b77c0ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "15bf581d-a742-4cd5-a501-9970137876b5", "created_at": "2024-03-19T00:19:57.313250+00:00", "updated_at": "2024-03-19T00:19:57.323347+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5", "rel": "self"}, {"href": "http://localhost/chassis/15bf581d-a742-4cd5-a501-9970137876b5", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5/nodes", "rel": "self"}, {"href": "http://localhost/chassis/15bf581d-a742-4cd5-a501-9970137876b5/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49513369-0af4-489b-9ac2-a4eed4a9448b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "15bf581d-a742-4cd5-a501-9970137876b5", "created_at": "2024-03-19T00:19:57.313250+00:00", "updated_at": "2024-03-19T00:19:57.323347+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5", "rel": "self"}, {"href": "http://localhost/chassis/15bf581d-a742-4cd5-a501-9970137876b5", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5/nodes", "rel": "self"}, {"href": "http://localhost/chassis/15bf581d-a742-4cd5-a501-9970137876b5/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: PATCH /v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b03e8079-931a-4fdf-ba1e-614eade24477 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "15bf581d-a742-4cd5-a501-9970137876b5", "created_at": "2024-03-19T00:19:57.313250+00:00", "updated_at": "2024-03-19T00:19:57.336584+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5", "rel": "self"}, {"href": "http://localhost/chassis/15bf581d-a742-4cd5-a501-9970137876b5", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5/nodes", "rel": "self"}, {"href": "http://localhost/chassis/15bf581d-a742-4cd5-a501-9970137876b5/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb8a3d46-7291-4560-bdbc-16b0ab6336d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "15bf581d-a742-4cd5-a501-9970137876b5", "created_at": "2024-03-19T00:19:57.313250+00:00", "updated_at": "2024-03-19T00:19:57.336584+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5", "rel": "self"}, {"href": "http://localhost/chassis/15bf581d-a742-4cd5-a501-9970137876b5", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/15bf581d-a742-4cd5-a501-9970137876b5/nodes", "rel": "self"}, {"href": "http://localhost/chassis/15bf581d-a742-4cd5-a501-9970137876b5/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.058602s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd82954da-f412-4042-9b75-7d23d6a97b10', 'owner': None} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3df2b8b3-302e-44b9-b6be-896e8c505efe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.036196s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/6edb39bd-aad8-4b05-a660-39ee193cd099 WITH [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b11b055b-8f58-48a9-b94d-a216ad70a118 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.030729s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9490e479-88cd-4709-81b0-b8b15a5501d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.040881s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd5d35a78-6710-43c8-8e45-72a4cbeade77', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/d5d35a78-6710-43c8-8e45-72a4cbeade77 DEBUG util.py:445: Openstack-Request-Id: req-372e6fa0-3603-4049-8235-96240795536f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "d5d35a78-6710-43c8-8e45-72a4cbeade77", "created_at": "2024-03-19T00:19:57.382376+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/d5d35a78-6710-43c8-8e45-72a4cbeade77", "rel": "self"}, {"href": "http://localhost/allocations/d5d35a78-6710-43c8-8e45-72a4cbeade77", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/d5d35a78-6710-43c8-8e45-72a4cbeade77 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80e9b51f-b484-4459-a3e6-7e1c705bd965 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "d5d35a78-6710-43c8-8e45-72a4cbeade77", "created_at": "2024-03-19T00:19:57.382376+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/d5d35a78-6710-43c8-8e45-72a4cbeade77", "rel": "self"}, {"href": "http://localhost/allocations/d5d35a78-6710-43c8-8e45-72a4cbeade77", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.101576s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-c995f25f-7755-45eb-b1a2-ff67293f3855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:57.348191+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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fbd0a304-07b0-48b3-a790-c638469d8aba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:57.348191+00:00", "updated_at": null, "automated_clean": true, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "co DEBUG util.py:445: nductor_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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.046754s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/6c9be22e-a817-436e-a61e-07bd67c4d608 WITH [{'path': '/steps/0', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-240bdf94-ef79-4d41-acfd-12508cd7c856 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.043128s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/644d5ca9-2748-44e9-bb05-68963e402042 WITH [{'path': '/description', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b65a2da9-231b-47d5-8158-0ab0ecc9c2ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "644d5ca9-2748-44e9-bb05-68963e402042", "created_at": "2024-03-19T00:19:57.398354+00:00", "updated_at": "2024-03-19T00:19:57.410245+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/644d5ca9-2748-44e9-bb05-68963e402042", "rel": "self"}, {"href": "http://localhost/chassis/644d5ca9-2748-44e9-bb05-68963e402042", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/644d5ca9-2748-44e9-bb05-68963e402042/nodes", "rel": "self"}, {"href": "http://localhost/chassis/644d5ca9-2748-44e9-bb05-68963e402042/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/644d5ca9-2748-44e9-bb05-68963e402042 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23a808a9-325d-408f-9489-ce8041f7765a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "644d5ca9-2748-44e9-bb05-68963e402042", "created_at": "2024-03-19T00:19:57.398354+00:00", "updated_at": "2024-03-19T00:19:57.410245+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/644d5ca9-2748-44e9-bb05-68963e402042", "rel": "self"}, {"href": "http://localhost/chassis/644d5ca9-2748-44e9-bb05-68963e402042", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/644d5ca9-2748-44e9-bb05-68963e402042/nodes", "rel": "self"}, {"href": "http://localhost/chassis/644d5ca9-2748-44e9-bb05-68963e402042/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.041689s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a8ce0dae-6c3f-43d3-88c4-d421d669c36c'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/a8ce0dae-6c3f-43d3-88c4-d421d669c36c DEBUG util.py:445: Openstack-Request-Id: req-5dff6573-6e7a-4b81-8aa0-dc5ae664ed8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "a8ce0dae-6c3f-43d3-88c4-d421d669c36c", "created_at": "2024-03-19T00:19:57.424452+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/a8ce0dae-6c3f-43d3-88c4-d421d669c36c", "rel": "self"}, {"href": "http://localhost/allocations/a8ce0dae-6c3f-43d3-88c4-d421d669c36c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/a8ce0dae-6c3f-43d3-88c4-d421d669c36c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-026ecc7f-1cae-4c2c-be7f-1025c7ceff19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "a8ce0dae-6c3f-43d3-88c4-d421d669c36c", "created_at": "2024-03-19T00:19:57.424452+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/a8ce0dae-6c3f-43d3-88c4-d421d669c36c", "rel": "self"}, {"href": "http://localhost/allocations/a8ce0dae-6c3f-43d3-88c4-d421d669c36c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.044574s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/c099e2dc-8543-4ea8-bf5f-4ff86a29b3c5 WITH [{'path': '/steps', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccc55453-c95e-435c-a1a8-501068c23460 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.035872s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3eb8b879-e299-4c9a-b161-67be2b2d6350 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.071507s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d57b8228-e102-40f5-839a-37be8ec5e6ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.033927s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'de8a5257-4dc6-4d9b-99f6-0dd15efa97a8', 'owner': '54321'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68157ec7-6721-4c0d-a12e-fef9c4179c54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.036160s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/a023cf01-5255-46ba-a883-9e908277982c WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72c739ff-9694-4386-910d-05c84d2e20a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.043998s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3 WITH [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ced0061-5628-4f05-bf1c-5558330f3d42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "711f3afa-e50e-405f-baf1-161ca90fa9f3", "created_at": "2024-03-19T00:19:57.479140+00:00", "updated_at": "2024-03-19T00:19:57.490359+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3", "rel": "self"}, {"href": "http://localhost/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3/nodes", "rel": "self"}, {"href": "http://localhost/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73d83564-5d16-43de-84fc-31b18b9b16f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "711f3afa-e50e-405f-baf1-161ca90fa9f3", "created_at": "2024-03-19T00:19:57.479140+00:00", "updated_at": "2024-03-19T00:19:57.490359+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3", "rel": "self"}, {"href": "http://localhost/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3/nodes", "rel": "self"}, {"href": "http://localhost/chassis/711f3afa-e50e-405f-baf1-161ca90fa9f3/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.042753s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1101450e-522c-4b86-b99c-427b5461a932', 'owner': '12345'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/1101450e-522c-4b86-b99c-427b5461a932 DEBUG util.py:445: Openstack-Request-Id: req-89c0dcc3-81c1-4eb6-af91-8e893f6b0397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1101450e-522c-4b86-b99c-427b5461a932", "created_at": "2024-03-19T00:19:57.502376+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/1101450e-522c-4b86-b99c-427b5461a932", "rel": "self"}, {"href": "http://localhost/allocations/1101450e-522c-4b86-b99c-427b5461a932", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/1101450e-522c-4b86-b99c-427b5461a932 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9f4d42d-05ef-4b09-b12d-ebf6dceb95ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1101450e-522c-4b86-b99c-427b5461a932", "created_at": "2024-03-19T00:19:57.502376+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/1101450e-522c-4b86-b99c-427b5461a932", "rel": "self"}, {"href": "http://localhost/allocations/1101450e-522c-4b86-b99c-427b5461a932", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.044529s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/description', 'value': 'chassis-new-description', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df2c1cee-d0ba-40a4-9b5f-039dc087eac2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.522358+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ad7e0c1-5c43-49ca-b9ec-c4bdae9b7860 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.522358+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: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.039053s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} 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-9ed6502d-74ff-4f5b-b4cc-549fa6b55a1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a94e569-5d18-43ee-af66-aec31300bd34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.056776s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/9990dd49-cf4b-4dd3-88bb-eed17a7eb118 WITH [{'path': '/steps', 'op': 'replace', 'value': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}]}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00d2bf41-1904-4500-8d02-28f59e704cae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.132055s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': None} GOT Response: 201 Created 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-fbcf7d62-626c-4230-805b-0852bacbe7a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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", "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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f34700c-37e4-4c5f-b59d-aaea214065ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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", "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 WITH {'uuid': '37a66886-a4ed-4842-b127-1de7cedc7efb', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb DEBUG util.py:445: Openstack-Request-Id: req-b9359e3f-a122-4da6-828b-f3367225e842 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "37a66886-a4ed-4842-b127-1de7cedc7efb", "created_at": "2000-01-01T00:00:00+00:00", "upda DEBUG util.py:445: ted_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb", "rel": "self"}, {"href": "http://localhost/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb/ports", "rel": "self"}, {"href": "http://localhost/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-266bd288-8308-4fe8-882b-1eab7a1c99ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "37a66886-a4ed-4842-b127-1de7cedc7efb", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb", "rel": "self"}, {"href": "http://localhost/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb/ports", "rel": "self"}, {"href": "http://localhost/nodes/37a66886-a4ed-4842-b127-1de7cedc7efb/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.037933s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/description', 'value': 'new', 'op': 'replace'}] GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37d886da-862b-4005-9940-95a777c0f569 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-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_doesnt_contain_id [0.039706s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'foo': 123}, 'description': 'data-center-1-chassis'} 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-a2d159eb-b2a3-48dd-aaa8-f45794f21807 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.582310+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-078efddd-bfa2-4643-a5de-9cc802ea1dc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.582310+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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.047511s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/f7a381be-0185-40a1-b231-dda86f10bdce WITH [{'path': '/steps', 'op': 'replace', 'value': []}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7384204-21df-4332-a7af-aaa316345994 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.032784s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/8b50c190-5c37-456e-b275-bcd9540aa87b WITH [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30570a4b-4f5c-4b08-aec0-65ce11d071df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 8b50c190-5c37-456e-b275-bcd9540aa87b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.031393s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be24d02f-1944-419b-b3da-c7cef5ef1f8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.052449s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/ddcce8b5-215d-4fa0-9695-c2106a6e5a10 WITH [{'path': '/name', 'op': 'replace', 'value': None}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9868bb1-7dc2-428c-9957-38e88bbbbba6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.041915s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/?limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-790496cc-665e-4630-bd85-1e7b3ff8347f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "42774a28-6b4b-4979-9a22-e868d8755029", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/42774a28-6b4b-4979-9a22-e868d8755029", "rel": "self"}, {"href": "http://localhost/deploy_templates/42774a28-6b4b-4979-9a22-e868d8755029", "rel": "bookmark"}]}, {"uuid": "678d4993-9f42-4c1e-b41f-739d99c808a3", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/678d4993-9f42-4c1e-b41f-739d99c808a3", "rel": "self"}, {"href": "http://localhost/deploy_templates/678d4993-9f42-4c1e-b41f-739d99c808a3", "rel": "bookmark"}]}, {"uuid": "6480c10b-baba-4e24-b693-1a89c5390104", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/6480c10b-baba-4e24-b693-1a89c5390104", "rel": "self"}, {"href": "http://localhost/deploy_templates/6480c10b-baba-4e24-b693-1a89c5390104", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=6480c10b-baba-4e24-b693-1a89c5390104"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.038229s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'extra': {}, 'description': 'data-center-1-chassis'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/3454cf47-c530-40a7-8e01-fc2c8345547d DEBUG util.py:445: Openstack-Request-Id: req-2fe77e25-1bab-46a7-b459-79e8565aedbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "3454cf47-c530-40a7-8e01-fc2c8345547d", "created_at": "2024-03-19T00:19:57.651987+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/3454cf47-c530-40a7-8e01-fc2c8345547d", "rel": "self"}, {"href": "http://localhost/chassis/3454cf47-c530-40a7-8e01-fc2c8345547d", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/3454cf47-c530-40a7-8e01-fc2c8345547d/nodes", "rel": "self"}, {"href": "http://localhost/chassis/3454cf47-c530-40a7-8e01-fc2c8345547d/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d22b4dc-dda2-4cc5-9cb5-5334cafd57d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"chassis": [{"uuid": "3454cf47-c530-40a7-8e01-fc2c8345547d", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/3454cf47-c530-40a7-8e01-fc2c8345547d", "rel": "self"}, {"href": "http://localhost/chassis/3454cf47-c530-40a7-8e01-fc2c8345547d", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.078827s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d71c2efb-e6f6-40a6-b302-97c1a0e69d3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.030040s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 1334} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cae66063-6dfc-4ae5-a7d6-ce5bcea15d4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 1334 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.039194s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?fields=uuid,steps WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-664c2484-21ac-4dc8-a624-5c2c575017f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "192a482e-6398-46df-acd2-eb4f7ac62d3f", "links": [{"href": "http://localhost/v1/deploy_templates/192a482e-6398-46df-acd2-eb4f7ac62d3f", "rel": "self"}, {"href": "http://localhost/deploy_templates/192a482e-6398-46df-acd2-eb4f7ac62d3f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "edba3d56-60e5-4178-8e70-9a5ef9bc186f", "links": [{"href": "http://localhost/v1/deploy_templates/edba3d56-60e5-4178-8e70-9a5ef9bc186f", "rel": "self"}, {"href": "http://localhost/deploy_templates/edba3d56-60e5-4178-8e70-9a5ef9bc186f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "05398330-13c5-4bb3-9fb3-53f0b55780a2", "links": [{"href": "http://localhost/v1/deploy_templates/05398330-13c5-4bb3-9fb3-53f0b55780a2", "rel": "self"}, {"href": "http://localhost/deploy_templates/05398330-13c5-4bb3-9fb3-53f0b55780a2", "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=05398330-13c5-4bb3-9fb3-53f0b55780a2"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.058345s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/e51f973d-9c14-4280-a5fa-0da5ab03f3c7 WITH [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1b16d87-5ccb-49a9-a085-51acacfad78f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'not-a-trait' is not valid under any of the given schemas. Possible root cause: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.029751s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-462a44e4-5bf4-40c0-a510-bc4adf38898f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.040412s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-826ead49-a829-4aec-9ebe-9b16bef5d30d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "3bcea8d9-edb5-4260-8e43-12041b671949", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/3bcea8d9-edb5-4260-8e43-12041b671949", "rel": "self"}, {"href": "http://localhost/deploy_templates/3bcea8d9-edb5-4260-8e43-12041b671949", "rel": "bookmark"}]}, {"uuid": "cc6039b2-872c-4592-b67b-deb6fed70b9e", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/cc6039b2-872c-4592-b67b-deb6fed70b9e", "rel": "self"}, {"href": "http://localhost/deploy_templates/cc6039b2-872c-4592-b67b-deb6fed70b9e", "rel": "bookmark"}]}, {"uuid": "948d8fca-396d-467e-a6c3-e8b5d7450665", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/948d8fca-396d-467e-a6c3-e8b5d7450665", "rel": "self"}, {"href": "http://localhost/deploy_templates/948d8fca-396d-467e-a6c3-e8b5d7450665", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=948d8fca-396d-467e-a6c3-e8b5d7450665"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.100167s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-788b6a9e-1961-46b5-8e69-c47de8982823 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.11 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:57.745421+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03275190-f3d7-4306-b5c8-9f84e3139b0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:57.745421+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.037165s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'амо'} 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-e5322ecf-5d01-4054-a9f7-2d9db9a38694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.750592+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9db1fde-dd4e-4770-ac46-0a2652d74825 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.750592+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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.056628s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/e1b98e03-931f-47fb-a031-d60a3b4f8f77 WITH [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc74a620-15d5-4006-9ca8-c3f562664431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.033262s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a830e626-3d07-42dc-a899-3d6a181e0c8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "fd6ea534-7fcc-49b8-955d-422861a13189", "created_at": "2024-03-19T00:19:57.763126+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/fd6ea534-7fcc-49b8-955d-422861a13189", "rel": "self"}, {"href": "http://localhost/deploy_templates/fd6ea534-7fcc-49b8-955d-422861a13189", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.034563s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'description': 'data-center-1-chassis'} GOT Response: 201 Created 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-e5481803-e765-4bba-bc12-fd893b89d949 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.786633+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24658153-4674-4b99-abb7-c9081edb5ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:19:57.786633+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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.041357s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/5f12213e-ed98-4ca9-823f-8880c26c6754 WITH [{'path': '/steps/0', 'op': 'replace', 'value': {'interface': 'foo', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a30b4dae-4f0f-45e2-a401-242b316e6453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.038556s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4b9ec38-f6af-49df-9b76-2bd1bc99e40a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "f217be6e-122a-4565-8c1a-ccf245ae1016", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/f217be6e-122a-4565-8c1a-ccf245ae1016", "rel": "self"}, {"href": "http://localhost/deploy_templates/f217be6e-122a-4565-8c1a-ccf245ae1016", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/deploy_templates?detail=False WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5f10329-9ebb-4844-bf17-990e4cb12b9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "f217be6e-122a-4565-8c1a-ccf245ae1016", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/f217be6e-122a-4565-8c1a-ccf245ae1016", "rel": "self"}, {"href": "http://localhost/deploy_templates/f217be6e-122a-4565-8c1a-ccf245ae1016", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.034326s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?sort_key=name&detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bf094bb-8044-4fc9-9103-f5ea55a1fe9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "7a41c7e9-298a-48cb-8f27-a8ebd7ffdaee", "created_at": "2024-03-19T00:19:57.837108+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7a41c7e9-298a-48cb-8f27-a8ebd7ffdaee", "rel": "self"}, {"href": "http://localhost/deploy_templates/7a41c7e9-298a-48cb-8f27-a8ebd7ffdaee", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "fd4eb6a6-bdc8-4597-8695-e870de923d2a", "created_at": "2024-03-19T00:19:57.835794+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/fd4eb6a6-bdc8-4597-8695-e870de923d2a", "rel": "self"}, {"href": "http://localhost/deploy_templates/fd4eb6a6-bdc8-4597-8695-e870de923d2a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "77272d06-5db1-4dad-a6af-3ffd9642eebe", "created_at": "2024-03-19T00:19:57.834279+00:00", "updated_at": null, "name": "CUSTOM_DT3", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/77272d06-5db1-4dad-a6af-3ffd9642eebe", "rel": "self"}, {"href": "http://localhost/deploy_templates/77272d06-5db1-4dad-a6af-3ffd9642eebe", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.096830s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-7d1a8516-3a99-428e-aa0a-184f264986ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:57.838877+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-127a420e-81d0-4092-b0d5-425c3ec286a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:57.838877+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c58e015-d75d-4e32-b3bc-c6ee9c70b09b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:57.838877+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "i DEBUG util.py:445: nspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.057377s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cf2d049-5204-4025-b289-02674acb9d05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.019047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.064179s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/4d370a2f-598b-4c4a-833f-9e5f1c06ba5c WITH [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 11}, 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-506c3f75-c922-485d-898b-4808e8e2c7ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4d370a2f-598b-4c4a-833f-9e5f1c06ba5c", "created_at": "2024-03-19T00:19:57.834699+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4d370a2f-598b-4c4a-833f-9e5f1c06ba5c", "rel": "self"}, {"href": "http://localhost/deploy_templates/4d370a2f-598b-4c4a-833f-9e5f1c06ba5c", "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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.030089s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?detail=True&fields=name WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27c499f4-494e-44cc-9371-4b2f7e8cc337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.019174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.017778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.031321s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?detail=False&fields=steps WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-135e0fb8-1003-4f94-9224-2ca75be17f7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"links": [{"href": "http://localhost/v1/deploy_templates/442ba986-14c1-4532-b13a-adbeac5cab0a", "rel": "self"}, {"href": "http://localhost/deploy_templates/442ba986-14c1-4532-b13a-adbeac5cab0a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.052862s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/63b53d21-3b1a-4930-8f75-232636f4de09 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d197cb1-fec8-4109-a446-b4964c628876 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID 63b53d21-3b1a-4930-8f75-232636f4de09 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.028002s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c6b32f6-bd39-4082-b728-80dc23213ad3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": []} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_child_node [0.031062s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.039605s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/70c47788-13c7-4f2c-9137-3bf9f48d344b WITH [{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-395dcd52-c15d-4210-ab80-5943c858bb4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.027736s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_child_node_list [0.033626s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.034725s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?fields=uuid,steps WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-290f3f60-60cf-4321-9afd-2cfc6f2d6377 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "79db30da-0949-49db-8b76-624b5060ea4d", "links": [{"href": "http://localhost/v1/deploy_templates/79db30da-0949-49db-8b76-624b5060ea4d", "rel": "self"}, {"href": "http://localhost/deploy_templates/79db30da-0949-49db-8b76-624b5060ea4d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "519c470e-462c-41af-aaa6-b7dd95e73171", "links": [{"href": "http://localhost/v1/deploy_templates/519c470e-462c-41af-aaa6-b7dd95e73171", "rel": "self"}, {"href": "http://localhost/deploy_templates/519c470e-462c-41af-aaa6-b7dd95e73171", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "5cee8956-b5d6-43ec-b8a5-de0db5979c07", "links": [{"href": "http://localhost/v1/deploy_templates/5cee8956-b5d6-43ec-b8a5-de0db5979c07", "rel": "self"}, {"href": "http://localhost/deploy_templates/5cee8956-b5d6-43ec-b8a5-de0db5979c07", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.027698s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.046976s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/e58def96-0747-4457-aabc-47a4b0a15a59 WITH [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e36d82c-ed23-4c07-a8c8-d9694882d286 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.034778s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?fields=name&limit=2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ed82ce0-8c48-46ac-93bb-52faf4cee91f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/c1765107-666b-4583-a701-8922bdcd4bf5", "rel": "self"}, {"href": "http://localhost/deploy_templates/c1765107-666b-4583-a701-8922bdcd4bf5", "rel": "bookmark"}]}, {"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/90f85c54-0065-4052-b9f6-63a3fa7de7fd", "rel": "self"}, {"href": "http://localhost/deploy_templates/90f85c54-0065-4052-b9f6-63a3fa7de7fd", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=90f85c54-0065-4052-b9f6-63a3fa7de7fd"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.025226s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.026708s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.031352s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/4c6c2cbf-a3da-463b-8aa6-1be973759a10?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a69d579-a316-443c-95c7-23a2fea5b3a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.058197s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/d1e463d5-770b-4c84-87de-044ebcf71314 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee0f36ea-5247-4312-911d-200a46a6df8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d1e463d5-770b-4c84-87de-044ebcf71314", "created_at": "2024-03-19T00:19:58.040011+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d1e463d5-770b-4c84-87de-044ebcf71314", "rel": "self"}, {"href": "http://localhost/deploy_templates/d1e463d5-770b-4c84-87de-044ebcf71314", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.026356s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.029913s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/5ad10a29-6c50-4070-bd29-105588bc7ff4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0916b67f-8f3e-4d5f-ac1b-40cace439bcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5ad10a29-6c50-4070-bd29-105588bc7ff4", "created_at": "2024-03-19T00:19:58.090242+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5ad10a29-6c50-4070-bd29-105588bc7ff4", "rel": "self"}, {"href": "http://localhost/deploy_templates/5ad10a29-6c50-4070-bd29-105588bc7ff4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.026833s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.032283s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/bfed851e-e6ec-4852-b5d8-62cff45cc0fd WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.031284s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/e7c8366e-acad-4155-a546-4c2d65d3d3bf?fields=name,steps WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c215b04-a3e0-41f7-ad31-5ae2370c2e9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e7c8366e-acad-4155-a546-4c2d65d3d3bf", "rel": "self"}, {"href": "http://localhost/deploy_templates/e7c8366e-acad-4155-a546-4c2d65d3d3bf", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.270960s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': 'useful stuff', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-6c686508-0220-48b5-9d4a-b90378abf026 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.110144+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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d345afb-bf29-475a-b015-7e4cd2707ca7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.110144+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clea DEBUG util.py:445: n_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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.055076s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/CUSTOM_DT1 WITH [{'path': '/steps', 'value': [{'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}], 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3b4e708-63b2-4a73-90f2-99b7f1833de4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1d8f8c4a-a810-43d7-80fd-181b01c92423", "created_at": "2024-03-19T00:19:58.131335+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1d8f8c4a-a810-43d7-80fd-181b01c92423", "rel": "self"}, {"href": "http://localhost/deploy_templates/1d8f8c4a-a810-43d7-80fd-181b01c92423", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.027902s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.025670s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.028653s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/68ee1966-0ebc-481f-87cd-ebae15894cc9 WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.030908s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/CUSTOM_DT1 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.028090s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.035825s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/45d5c593-6188-4f1c-9ff1-7e62481deae0.json WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3283d763-dbad-4dfe-a844-b71490648773 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "45d5c593-6188-4f1c-9ff1-7e62481deae0", "created_at": "2024-03-19T00:19:58.185832+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/45d5c593-6188-4f1c-9ff1-7e62481deae0", "rel": "self"}, {"href": "http://localhost/deploy_templates/45d5c593-6188-4f1c-9ff1-7e62481deae0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.066327s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781 DEBUG util.py:445: 234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-098fe24a-8a9d-46b9-a66d-8de5bcf8e988 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781 DEBUG util.py:445: 234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.027306s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.040860s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/22d1cdec-63a4-4c82-ad45-27d9aff875ec WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aeeffa74-166a-45ca-a0b5-0a8e357d32c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "22d1cdec-63a4-4c82-ad45-27d9aff875ec", "created_at": "2024-03-19T00:19:58.227463+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/22d1cdec-63a4-4c82-ad45-27d9aff875ec", "rel": "self"}, {"href": "http://localhost/deploy_templates/22d1cdec-63a4-4c82-ad45-27d9aff875ec", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.049176s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.042249s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/dbefa30c-45ef-433d-a68f-4e136d982d17 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1177d307-c845-4f42-8af8-7761a1f51122 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "dbefa30c-45ef-433d-a68f-4e136d982d17", "created_at": "2024-03-19T00:19:58.262190+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/dbefa30c-45ef-433d-a68f-4e136d982d17", "rel": "self"}, {"href": "http://localhost/deploy_templates/dbefa30c-45ef-433d-a68f-4e136d982d17", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /v1/deploy_templates/dbefa30c-45ef-433d-a68f-4e136d982d17 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61b38f8a-1d35-4a44-93fd-7373760a7ad3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "dbefa30c-45ef-433d-a68f-4e136d982d17", "created_at": "2024-03-19T00:19:58.262190+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/dbefa30c-45ef-433d-a68f-4e136d982d17", "rel": "self"}, {"href": "http://localhost/deploy_templates/dbefa30c-45ef-433d-a68f-4e136d982d17", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /deploy_templates/dbefa30c-45ef-433d-a68f-4e136d982d17 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bf62b29-cece-448e-9c67-4ae5528a02f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "dbefa30c-45ef-433d-a68f-4e136d982d17", "created_at": "2024-03-19T00:19:58.262190+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/dbefa30c-45ef-433d-a68f-4e136d982d17", "rel": "self"}, {"href": "http://localhost/deploy_templates/dbefa30c-45ef-433d-a68f-4e136d982d17", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test_check__check_steps_wrappers [0.022371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.100200s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'foo': 123}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-d95772f0-b1a3-4cb4-accb-ab5de8fe289e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.277764+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"foo": 123}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-258c88b8-4f03-4966-b1b6-23b15c5534fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.277764+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"foo": 123}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.035134s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45cb9512-c297-438e-a126-49248d94cf8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "f671779a-cff4-4a4f-9acf-dee29877b0f0", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/f671779a-cff4-4a4f-9acf-dee29877b0f0", "rel": "self"}, {"href": "http://localhost/deploy_templates/f671779a-cff4-4a4f-9acf-dee29877b0f0", "rel": "bookmark"}]}, {"uuid": "dff9008c-af14-4fd7-a3fc-0d0294144b47", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/dff9008c-af14-4fd7-a3fc-0d0294144b47", "rel": "self"}, {"href": "http://localhost/deploy_templates/dff9008c-af14-4fd7-a3fc-0d0294144b47", "rel": "bookmark"}]}, {"uuid": "f1cd05f2-f599-4ede-89c2-1d8590335aa1", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/f1cd05f2-f599-4ede-89c2-1d8590335aa1", "rel": "self"}, {"href": "http://localhost/deploy_templates/f1cd05f2-f599-4ede-89c2-1d8590335aa1", "rel": "bookmark"}]}, {"uuid": "ac548d54-eb87-4a10-88fc-64eb38111a3b", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/deploy_templates/ac548d54-eb87-4a10-88fc-64eb38111a3b", "rel": "self"}, {"href": "http://localhost/deploy_templates/ac548d54-eb87-4a10-88fc-64eb38111a3b", "rel": "bookmark"}]}, {"uuid": "f399b292-9ad3-405e-bfd4-4b6c8dbc1ef3", "name": "CUSTOM_DT4", "links": [{"href": "http://localhost/v1/deploy_templates/f399b292-9ad3-405e-bfd4-4b6c8dbc1ef3", "rel": "self"}, {"href": "http://localhost/deploy_templates/f399b292-9ad3-405e-bfd4-4b6c8dbc1ef3", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.047054s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?associated=blah WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6194ff1-6a6f-4c1c-8b1c-2b63d67c4109 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.029351s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f015163-cf72-4be1-b710-6c9c0ece6f49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "5b58e5b6-1d27-4d25-bf0e-f2e47baf2ee4", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/5b58e5b6-1d27-4d25-bf0e-f2e47baf2ee4", "rel": "self"}, {"href": "http://localhost/deploy_templates/5b58e5b6-1d27-4d25-bf0e-f2e47baf2ee4", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.032621s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/13e9a33f-9a7c-4cce-b4f0-bae9eba73938 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd0febb5-f2a1-45e2-b5ba-857c8daf95df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "13e9a33f-9a7c-4cce-b4f0-bae9eba73938", "created_at": "2024-03-19T00:19:58.371035+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/13e9a33f-9a7c-4cce-b4f0-bae9eba73938", "rel": "self"}, {"href": "http://localhost/deploy_templates/13e9a33f-9a7c-4cce-b4f0-bae9eba73938", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": [], "password": "******"}, "priority": 10}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.189775s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/CUSTOM_DT1.json WITH [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60c10b3f-21fc-44b6-8fa9-2c3363586035 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b1e2959d-8b53-4a56-9f95-f50a7a8e8641", "created_at": "2024-03-19T00:19:58.357450+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b1e2959d-8b53-4a56-9f95-f50a7a8e8641", "rel": "self"}, {"href": "http://localhost/deploy_templates/b1e2959d-8b53-4a56-9f95-f50a7a8e8641", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_default_conductor_group [0.093533s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'mouse', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-6d26e18d-2255-436e-a2ef-7df921424c4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.372222+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "mouse", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd2d3f8b-33c5-45a9-90ee-87d0381c83ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.372222+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "mouse", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive" DEBUG util.py:445: : "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.062702s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?associated=true WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa9eeec8-4829-42bb-8fb1-7e7ffaf3b547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "46daf525-ef8a-4495-9aee-031d542f8227", "instance_uuid": "79483559-463c-44cc-8913-051c02c669e3", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/46daf525-ef8a-4495-9aee-031d542f8227", "rel": "self"}, {"href": "http://localhost/nodes/46daf525-ef8a-4495-9aee-031d542f8227", "rel": "bookmark"}]}, {"uuid": "a5e6f73e-3cfe-4247-b25c-3b50a4b8bcba", "instance_uuid": "5309ef6a-d4e8-474b-b677-1122f2c2ed68", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a5e6f73e-3cfe-4247-b25c-3b50a4b8bcba", "rel": "self"}, {"href": "http://localhost/nodes/a5e6f73e-3cfe-4247-b25c-3b50a4b8bcba", "rel": "bookmark"}]}, {"uuid": "42622a35-8fbe-465a-bbe9-96645ece9f1b", "instance_uuid": "fe4ffcc3-235d-4114-be16-deba94f3a12e", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/42622a35-8fbe-465a-bbe9-96645ece9f1b", "rel": "self"}, {"href": "http://localhost/nodes/42622a35-8fbe-465a-bbe9-96645ece9f1b", "rel": "bookmark"}]}, {"uuid": "08c7c719-be4c-47a7-8aa1-a6f0ab81d427", "instance_uuid": "64f36251-14bf-4989-9da8-a5840af3444d", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/08c7c719-be4c-47a7-8aa1-a6f0ab81d427", "rel": "self"}, {"href": "http://localhost/nodes/08c7c719-be4c-47a7-8aa1-a6f0ab81d427", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?associated=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfdb7bba-3304-4fff-8b83-c69d7ffe8ec8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "46daf525-ef8a-4495-9aee-031d542f8227", "instance_uuid": "79483559-463c-44cc-8913-051c02c669e3", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/46daf525-ef8a-4495-9aee-031d542f8227", "rel": "self"}, {"href": "http://localhost/nodes/46daf525-ef8a-4495-9aee-031d542f8227", "rel": "bookmark"}]}, {"uuid": "a5e6f73e-3cfe-4247-b25c-3b50a4b8bcba", "instance_uuid": "5309ef6a-d4e8-474b-b677-1122f2c2ed68", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a5e6f73e-3cfe-4247-b25c-3b50a4b8bcba", "rel": "self"}, {"href": "http://localhost/nodes/a5e6f73e-3cfe-4247-b25c-3b50a4b8bcba", "rel": "bookmark"}]}, {"uuid": "42622a35-8fbe-465a-bbe9-96645ece9f1b", "instance_uuid": "fe4ffcc3-235d-4114-be16-deba94f3a12e", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/42622a35-8fbe-465a-bbe9-96645ece9f1b", "rel": "self"}, {"href": "http://localhost/nodes/42622a35-8fbe-465a-bbe9-96645ece9f1b", "rel": "bookmark"}]}, {"uuid": "08c7c719-be4c-47a7-8aa1-a6f0ab81d427", "instance_uuid": "64f36251-14bf-4989-9da8-a5840af3444d", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/08c7c719-be4c-47a7-8aa1-a6f0ab81d427", "rel": "self"}, {"href": "http://localhost/nodes/08c7c719-be4c-47a7-8aa1-a6f0ab81d427", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.032395s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?sort_key=uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d7c7c6f-10b6-421a-8358-fa230c9efc9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "5ff83030-998c-4485-90cc-2860c6dbb9c0", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/5ff83030-998c-4485-90cc-2860c6dbb9c0", "rel": "self"}, {"href": "http://localhost/deploy_templates/5ff83030-998c-4485-90cc-2860c6dbb9c0", "rel": "bookmark"}]}, {"uuid": "904e8a09-2b69-4e6b-8ba1-82f5627cfc04", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/904e8a09-2b69-4e6b-8ba1-82f5627cfc04", "rel": "self"}, {"href": "http://localhost/deploy_templates/904e8a09-2b69-4e6b-8ba1-82f5627cfc04", "rel": "bookmark"}]}, {"uuid": "f0668813-2276-43ec-bd02-f0c7872d0f2c", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/f0668813-2276-43ec-bd02-f0c7872d0f2c", "rel": "self"}, {"href": "http://localhost/deploy_templates/f0668813-2276-43ec-bd02-f0c7872d0f2c", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.045531s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/cdf39f9c-a61c-4392-be24-3dc560a3ba8d WITH [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-555a921e-c3f2-4485-960f-0fbe687b6d36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'aa:bb_cc' is not valid under any of the given schemas. Possible root cause: 'aa:bb_cc' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.031377s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?sort_key=name&detail=False WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82f2e7e7-ccee-4f0a-91e8-425eb3acd5ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "76c919fa-8b80-4f5e-bfd6-a9d08377a58e", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/76c919fa-8b80-4f5e-bfd6-a9d08377a58e", "rel": "self"}, {"href": "http://localhost/deploy_templates/76c919fa-8b80-4f5e-bfd6-a9d08377a58e", "rel": "bookmark"}]}, {"uuid": "18034eb4-466a-427b-9475-23c0ed98d11d", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/18034eb4-466a-427b-9475-23c0ed98d11d", "rel": "self"}, {"href": "http://localhost/deploy_templates/18034eb4-466a-427b-9475-23c0ed98d11d", "rel": "bookmark"}]}, {"uuid": "5d2adfa6-561d-4abd-8fbd-7d659905c26b", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/deploy_templates/5d2adfa6-561d-4abd-8fbd-7d659905c26b", "rel": "self"}, {"href": "http://localhost/deploy_templates/5d2adfa6-561d-4abd-8fbd-7d659905c26b", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.060215s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/?limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34e8de7a-6b92-42da-a987-7ecfe8946205 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "54cc9697-b537-450c-99ad-fdec697b4e7e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/54cc9697-b537-450c-99ad-fdec697b4e7e", "rel": "self"}, {"href": "http://localhost/nodes/54cc9697-b537-450c-99ad-fdec697b4e7e", "rel": "bookmark"}]}, {"uuid": "a2063109-fba0-4e16-aa85-3f58885a451e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a2063109-fba0-4e16-aa85-3f58885a451e", "rel": "self"}, {"href": "http://localhost/nodes/a2063109-fba0-4e16-aa85-3f58885a451e", "rel": "bookmark"}]}, {"uuid": "77ef31ad-37cd-4149-b0d7-8aa0bfbf12f8", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/77ef31ad-37cd-4149-b0d7-8aa0bfbf12f8", "rel": "self"}, {"href": "http://localhost/nodes/77ef31ad-37cd-4149-b0d7-8aa0bfbf12f8", "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=77ef31ad-37cd-4149-b0d7-8aa0bfbf12f8"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.045382s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/e38d4af2-e783-44a2-b7b1-a6810eb39267 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f040ecb5-9464-4af5-a3a8-641a8cb3fa01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e38d4af2-e783-44a2-b7b1-a6810eb39267", "created_at": "2024-03-19T00:19:58.449201+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e38d4af2-e783-44a2-b7b1-a6810eb39267", "rel": "self"}, {"href": "http://localhost/deploy_templates/e38d4af2-e783-44a2-b7b1-a6810eb39267", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.029832s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates?sort_key=extra WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87f06e82-1d26-404b-86ea-c0109ec28fed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7191a01-9c69-4c6a-98ec-3454b61e72ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4c35eea-9919-4b96-94f3-cf1bad6fff7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.100242s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'neutron', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-0948f7ad-71f2-4a79-9a73-aef205ed56b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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", "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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4023a69c-1a1e-4a39-97b9-e3e6d028c95e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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", "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": DEBUG util.py:445: "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.047723s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?fields=driver_info,uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e301d10f-3c17-462a-9b51-cce152f304c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "ca8d0848-ae0b-424c-ba9e-5931b548342d", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/ca8d0848-ae0b-424c-ba9e-5931b548342d", "rel": "self"}, {"href": "http://localhost/nodes/ca8d0848-ae0b-424c-ba9e-5931b548342d", "rel": "bookmark"}]}, {"uuid": "69458671-8d94-4b45-ae88-4d1ca378e490", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/69458671-8d94-4b45-ae88-4d1ca378e490", "rel": "self"}, {"href": "http://localhost/nodes/69458671-8d94-4b45-ae88-4d1ca378e490", "rel": "bookmark"}]}, {"uuid": "991c152b-7161-4bc8-9086-8f5c3d9cd977", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/991c152b-7161-4bc8-9086-8f5c3d9cd977", "rel": "self"}, {"href": "http://localhost/nodes/991c152b-7161-4bc8-9086-8f5c3d9cd977", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=991c152b-7161-4bc8-9086-8f5c3d9cd977"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.039716s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '7440bf98-e4d6-4f2b-a7a7-d5d9c4a295bd', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/7440bf98-e4d6-4f2b-a7a7-d5d9c4a295bd DEBUG util.py:445: Openstack-Request-Id: req-400fc7d4-c389-437b-b491-d238cb956cbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7440bf98-e4d6-4f2b-a7a7-d5d9c4a295bd", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7440bf98-e4d6-4f2b-a7a7-d5d9c4a295bd", "rel": "self"}, {"href": "http://localhost/deploy_templates/7440bf98-e4d6-4f2b-a7a7-d5d9c4a295bd", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /v1/deploy_templates/7440bf98-e4d6-4f2b-a7a7-d5d9c4a295bd WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b26f9786-7c45-40f9-a132-15acd458b491 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7440bf98-e4d6-4f2b-a7a7-d5d9c4a295bd", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7440bf98-e4d6-4f2b-a7a7-d5d9c4a295bd", "rel": "self"}, {"href": "http://localhost/deploy_templates/7440bf98-e4d6-4f2b-a7a7-d5d9c4a295bd", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.046978s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/9ef7872d-5265-4090-b690-d6e4eccaeba5 WITH [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a933863-ec44-4fdb-b562-43485da39e94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9ef7872d-5265-4090-b690-d6e4eccaeba5", "created_at": "2024-03-19T00:19:58.495791+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9ef7872d-5265-4090-b690-d6e4eccaeba5", "rel": "self"}, {"href": "http://localhost/deploy_templates/9ef7872d-5265-4090-b690-d6e4eccaeba5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.031998s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/e97db01b-9890-4be0-ab4f-68316d88a66d WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a418c4c-090e-4f62-ba7e-d6bf6743a19c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template e97db01b-9890-4be0-ab4f-68316d88a66d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.040618s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'eed7c0a3-170c-4fca-aeda-305531d8c959', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/eed7c0a3-170c-4fca-aeda-305531d8c959 DEBUG util.py:445: Openstack-Request-Id: req-1aa90873-2e6b-45fa-8385-ff0cd225d607 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "eed7c0a3-170c-4fca-aeda-305531d8c959", "created_at": "2024-03-19T00:19:58.545132+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/eed7c0a3-170c-4fca-aeda-305531d8c959", "rel": "self"}, {"href": "http://localhost/deploy_templates/eed7c0a3-170c-4fca-aeda-305531d8c959", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.062835s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c00e49a0-a68e-47d0-9d84-9e3765924d53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "a5a6a9ae-8071-4ec6-94f2-64e9e004035d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a5a6a9ae-8071-4ec6-94f2-64e9e004035d", "rel": "self"}, {"href": "http://localhost/nodes/a5a6a9ae-8071-4ec6-94f2-64e9e004035d", "rel": "bookmark"}]}, {"uuid": "e76de0c6-0097-4493-8851-a25cd96ef961", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/e76de0c6-0097-4493-8851-a25cd96ef961", "rel": "self"}, {"href": "http://localhost/nodes/e76de0c6-0097-4493-8851-a25cd96ef961", "rel": "bookmark"}]}, {"uuid": "5490db92-b45a-4864-9d8b-ee388c328aa8", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5490db92-b45a-4864-9d8b-ee388c328aa8", "rel": "self"}, {"href": "http://localhost/nodes/5490db92-b45a-4864-9d8b-ee388c328aa8", "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=5490db92-b45a-4864-9d8b-ee388c328aa8"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.034686s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3b47353-f438-44cc-b8ed-2e341216e997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.054399s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '1135eb19-b1a6-4a03-add0-bc36c2d1806e', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/1135eb19-b1a6-4a03-add0-bc36c2d1806e DEBUG util.py:445: Openstack-Request-Id: req-5de9aa8e-f88b-4470-ad90-fb9b8271eb5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1135eb19-b1a6-4a03-add0-bc36c2d1806e", "created_at": "2024-03-19T00:19:58.602071+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1135eb19-b1a6-4a03-add0-bc36c2d1806e", "rel": "self"}, {"href": "http://localhost/deploy_templates/1135eb19-b1a6-4a03-add0-bc36c2d1806e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /v1/deploy_templates/1135eb19-b1a6-4a03-add0-bc36c2d1806e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04dd340d-8959-4ba2-bb71-bf61e7a7df86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1135eb19-b1a6-4a03-add0-bc36c2d1806e", "created_at": "2024-03-19T00:19:58.602071+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1135eb19-b1a6-4a03-add0-bc36c2d1806e", "rel": "self"}, {"href": "http://localhost/deploy_templates/1135eb19-b1a6-4a03-add0-bc36c2d1806e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.096708s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'class2', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-bc0818b9-514b-4964-aba3-bde8ddf07315 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.574798+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "class2", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b61a343-25b5-4589-a6d4-7e59b21b2e51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.574798+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "class2", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-0 DEBUG util.py:445: 3f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.031510s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b63d4c1-84ab-49f7-b91e-7dcf2bab1885 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.053907s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?instance_uuid=20464850-b9e8-47d9-a831-c3ee8ec99b90 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b3713a5-e707-43f8-82ff-069108bd4ef4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "9a3d7f37-628b-4074-aa33-253361a80c4f", "instance_uuid": "20464850-b9e8-47d9-a831-c3ee8ec99b90", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/9a3d7f37-628b-4074-aa33-253361a80c4f", "rel": "self"}, {"href": "http://localhost/nodes/9a3d7f37-628b-4074-aa33-253361a80c4f", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.034007s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-fac7be4c-0f38-4332-847b-d1c2994acc3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.091061s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-be3d9dcd-27d7-45db-b202-108ecf0a0db5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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", "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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efe3cd5d-0e3d-4be6-94f7-9f6e89921aba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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_in DEBUG util.py:445: terface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "cinder", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.047358s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2dd4e824-efd9-43fa-895f-b4e95a20c2e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.658867+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.033168s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-58137335-acb9-43b2-8a23-347bf2ad3122 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.037591s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5ed723c-4c48-4fd0-ad71-a36811b529d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.027555s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a3ad2a6-7c91-4187-96e1-57a89d987ec0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.031791s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-182a5933-5e61-48eb-a4a5-87729bd1efcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.064949s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2bbfc4e-a76c-42cb-bce7-1691d75ffa59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.035997s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39f505cb-2e73-47a0-8ba8-58171798c22f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: "foo" DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.025561s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-hardware-type/vendor_passthru WITH {'test_key': 'test_value'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-422bf2a4-cd85-4298-8de3-bae7f3162119 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.179438s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '2fd62a3b-5be0-4b9f-bd0d-b752094c7bc4', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3d4f7ab-fb5f-4157-a026-cd3eec678a30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.047260s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6ddb7c5-3a36-4cc4-b9ba-5f10f30f6e1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.780833+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.062258s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 0} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01594db4-5082-4670-92ec-0f00c569db49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 0 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.037499s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type/vendor_passthru/methods WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e6982a3-3a34-4b5f-933f-adbc902bd342 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"foo": "bar"} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type/vendor_passthru/methods WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66c2e6d1-d360-49fb-ba3f-d9e928f85ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"foo": "bar"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.042651s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/cb30aee5-8b0f-4125-a1da-c5e89f66f969 DEBUG util.py:445: Openstack-Request-Id: req-b3acf889-f3a0-4c41-96ca-fa42bbbbb9ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "cb30aee5-8b0f-4125-a1da-c5e89f66f969", "created_at": "2024-03-19T00:19:58.825160+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cb30aee5-8b0f-4125-a1da-c5e89f66f969", "rel": "self"}, {"href": "http://localhost/deploy_templates/cb30aee5-8b0f-4125-a1da-c5e89f66f969", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /v1/deploy_templates/cb30aee5-8b0f-4125-a1da-c5e89f66f969 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07630eb7-beed-45f3-949d-19100a871881 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "cb30aee5-8b0f-4125-a1da-c5e89f66f969", "created_at": "2024-03-19T00:19:58.825160+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cb30aee5-8b0f-4125-a1da-c5e89f66f969", "rel": "self"}, {"href": "http://localhost/deploy_templates/cb30aee5-8b0f-4125-a1da-c5e89f66f969", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.046766s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93933b47-258f-42ce-8380-e635b4d0437a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:58.827630+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "46c0bf8a-846d-49a5-9724-5a61a5efa6bf", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.039378s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-1bd9ee9c-6919-4d66-a201-df103be5c282 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.023098s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '65e7fd64-a3b4-4693-bdb5-e0260785ebe3', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.036939s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2c26c03-7e5c-49b1-ae33-99b214ab530e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.065211s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3ac094f-0015-4d78-9df3-78440bae3cc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.038582s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '0962748c-ee66-4a10-a5a0-8a27163daea2', 'steps': [], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8cf28f00-b511-4ee7-8b28-d7866a2fe919 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.036533s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0a00018-b73c-4c25-a311-0cd0d9e65739 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.028514s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?project=54321 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81194983-4ee1-43b2-bb78-4158135274a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.035031s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '67d8493b-01d2-4881-bf5d-df9ecbaa2f17', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': 42} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d82a65a-c191-43ea-a566-3f34cea039ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.047977s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fd00829-75b0-4c56-be97-e6f7b3e36dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2e11c7e-fc78-4ba6-8538-39e607deef38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb8871d2-663d-4375-a3d9-a19d1e29315f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-197adad2-b46c-497e-9a54-c30b9946f75e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85ec4e9d-2e92-40a3-85df-2fe0f5a6ecac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.067922s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1cda26f0-9dc3-4a4c-ad37-fc49c8993a7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.037432s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '39cfa1d2-ed99-43e0-b74d-47a5ee9bcecb', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}, 'foo': 'bar'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a90a237-6449-4b68-b639-1c4c635cdfa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.058586s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61f2b5d8-9849-4024-a8de-51c0ba3a4659 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "20f57587-ff6c-4be5-b270-f927b5929ab1", "created_at": "2024-03-19T00:19:58.935897+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "12345", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1", "rel": "self"}, {"href": "http://localhost/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1/ports", "rel": "self"}, {"href": "http://localhost/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1/states", "rel": "self"}, {"href": "http://localhost/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1/volume", "rel": "self"}, {"href": "http://localhost/nodes/20f57587-ff6c-4be5-b270-f927b5929ab1/volume", "rel": "bookmark"}]}, {"uuid": "4f53c6c1-40bf-4437-87fc-edb72f8490e6", "created_at": "2024-03-19T00:19:58.937806+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "12345", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired DEBUG util.py:445: _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/4f53c6c1-40bf-4437-87fc-edb72f8490e6", "rel": "self"}, {"href": "http://localhost/nodes/4f53c6c1-40bf-4437-87fc-edb72f8490e6", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4f53c6c1-40bf-4437-87fc-edb72f8490e6/ports", "rel": "self"}, {"href": "http://localhost/nodes/4f53c6c1-40bf-4437-87fc-edb72f8490e6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4f53c6c1-40bf-4437-87fc-edb72f8490e6/states", "rel": "self"}, {"href": "http://localhost/nodes/4f53c6c1-40bf-4437-87fc-edb72f8490e6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4f53c6c1-40bf-4437-87fc-edb72f8490e6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4f53c6c1-40bf-4437-87fc-edb72f8490e6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4f53c6c1-40bf-4437-87fc-edb72f8490e6/volume", "rel": "self"}, {"href": "http://localhost/nodes/4f53c6c1-40bf-4437-87fc-edb72f8490e6/volume", "rel": "bookmark"}]}, {"uuid": "0e010378-06b7-49c9-b8f7-f2ef7c884d8e", "created_at": "2024-03-19T00:19:58.940293+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "12345", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e", "rel": "self"}, {"href": "http://localhost/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e/ports", "rel": "self"}, {"href": "http://localhost/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e/states", "rel": "self"}, {"href": "http://localhost/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e/volume", "rel": "self"}, {"href": "http://localhost/nodes/0e010378-06b7-49c9-b8f7-f2ef7c884d8e/volume", "rel": "bookmark"}]}, {"uuid": "3ae6c7ad-5aa5-48fa-8815-78715578d9f3", "created_at": "2024-03-19T00:19:58.942023+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, DEBUG util.py:445: "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "12345", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3", "rel": "self"}, {"href": "http://localhost/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3/ports", "rel": "self"}, {"href": "http://localhost/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3/states", "rel": "self"}, {"href": "http://localhost/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3/volume", "rel": "self"}, {"href": "http://localhost/nodes/3ae6c7ad-5aa5-48fa-8815-78715578d9f3/volume", "rel": "bookmark"}]}, {"uuid": "0d606c76-c921-4098-ae1f-8408e0526206", "created_at": "2024-03-19T00:19:58.943746+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "12345", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/0d606c76-c921-4098-ae1f-8408e0526206", "rel": "self"}, {"href": "http://localhost/nodes/0d606c76-c921-4098-ae1f-8408e0526206", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0d606c76-c921-4098-ae1f-8408e0526206/ports", "rel": DEBUG util.py:445: "self"}, {"href": "http://localhost/nodes/0d606c76-c921-4098-ae1f-8408e0526206/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0d606c76-c921-4098-ae1f-8408e0526206/states", "rel": "self"}, {"href": "http://localhost/nodes/0d606c76-c921-4098-ae1f-8408e0526206/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0d606c76-c921-4098-ae1f-8408e0526206/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0d606c76-c921-4098-ae1f-8408e0526206/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0d606c76-c921-4098-ae1f-8408e0526206/volume", "rel": "self"}, {"href": "http://localhost/nodes/0d606c76-c921-4098-ae1f-8408e0526206/volume", "rel": "bookmark"}]}, {"uuid": "251bad19-488d-4e1e-a409-5e7d648ebcc1", "created_at": "2024-03-19T00:19:58.945475+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "12345", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1", "rel": "self"}, {"href": "http://localhost/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1/ports", "rel": "self"}, {"href": "http://localhost/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1/states", "rel": "self"}, {"href": "http://localhost/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1/volume", "rel": "self"}, {"href": "http://localhost/nodes/251bad19-488d-4e1e-a409-5e7d648ebcc1/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields [0.032366s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?fields=name,hosts WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3480efc-f030-45a3-a7ed-2aa755004a98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.028413s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c7d2543-59a6-4e12-91ac-35425768dc11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.035004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 42, 'uuid': '29d35591-20fa-420a-90cd-2b47520fb9a6', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8cb9a159-8b6e-4caa-a6b0-22fd9e8a38a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.066761s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff0b51e4-16a9-4e6f-ba87-78024e75faee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.034306s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?fields=name,hosts&detail=false WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aad1f3bb-93df-4ad4-9407-ff8066f887a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_true [0.030599s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?detail=true&fields=name,hosts WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abff7b84-9a32-4ae9-a50a-76d9f88f7e13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.040850s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9083b775-b74d-431a-bad2-d3a93d98016e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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"}]}]} DEBUG util.py:445: GET /v1/nodes?detail=False WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4499c476-3f08-4366-b021-f1f7da028a5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.036735s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': None, 'uuid': '8b80be7a-2a35-4386-8467-6dc5a0e57941', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-948222be-ec39-4c74-b0f4-3c053a139485 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: None is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.033121s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?fields=name,invalid WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e88f5d75-f671-4192-bc2c-f99ca4432bd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.034696s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '3a756c44-d305-49dd-95c9-443fb876a605', 'steps': {}, 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fc84dbb-6bd3-454c-82dc-70cc3a9dbc65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array'\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_snmpv3 [0.039609s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6af744f0-f59a-46e5-8e39-3eaefadb73cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.067384+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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": {"snmp_version": 3, "snmp_user": "test-user", "snmp_auth_protocol": "sha", "snmp_auth_key": "******", "snmp_priv_protocol": "aes", "snmp_priv_key": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.092151s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-39946654-c9d5-41f5-b639-0ca48c8eee8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.086069+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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project", "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed67d823-0b67-4ab6-8998-782139b0a23a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.086069+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "c DEBUG util.py:445: onductor_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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project", "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.037670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '0a2a32fd-7a6f-4a33-90d5-cf0f4f8d19c7', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict', 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae74b217-f8ff-49ba-a032-e9688bd7daed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a dict' is not of type 'object'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.027887s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?detail=True WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c6ee94f-c461-4883-b8cb-bbedff6ff9b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.025389s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?detail=False WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49f30f65-7d4d-45ab-9bb0-84280911374b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.044219s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?sort_key=resource_class WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df254729-050a-43d5-a208-edecbf2afd4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "5d9a08dc-144c-4c4e-9f4c-e9876d18febf", "created_at": "2024-03-19T00:19:59.110110+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "rc_1", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/5d9a08dc-144c-4c4e-9f4c-e9876d18febf", "rel": "self"}, {"href": "http://localhost/nodes/5d9a08dc-144c-4c4e-9f4c-e9876d18febf", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5d9a08dc-144c-4c4e-9f4c-e9876d18febf/ports", "rel": "self"}, {"href": "http://localhost/nodes/5d9a08dc-144c-4c4e-9f4c-e9876d18febf/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5d9a08dc-144c-4c4e-9f4c-e9876d18febf/states", "rel": "self"}, {"href": "http://localhost/nodes/5d9a08dc-144c-4c4e-9f4c-e9876d18febf/states", "rel": "bookmark"}]}, {"uuid": "001cc5ee-0999-44aa-ad23-1df030a6a7a5", "created_at": "2024-03-19T00:19:59.108459+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "rc_2", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/001cc5ee-0999-44aa-ad23-1df030a6a7a5", "rel": "self"}, {"href": "http://localhost/nodes/001cc5ee-0999-44aa-ad23-1df030a6a7a5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/001cc5ee-0999-44aa-ad23-1df030a6a7a5/ports", "rel": "self"}, {"href": "http://localhost/nodes/001cc5ee-0999-44aa-ad23-1df030a6a7a5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/001cc5ee-0999-44aa-ad23-1df030a6a7a5/states", "rel": "self"}, {"href": "http://localhost/nodes/001cc5ee-0999-44aa-ad23-1df030a6a7a5/states", "rel": "bookmark"}]}, {"uuid": "99d3b2c0-d355-49d6-981a-2d1c837eae07", "created_at": "2024-03-19T00:19:59.106637+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_ DEBUG util.py:445: state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "rc_3", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/99d3b2c0-d355-49d6-981a-2d1c837eae07", "rel": "self"}, {"href": "http://localhost/nodes/99d3b2c0-d355-49d6-981a-2d1c837eae07", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/99d3b2c0-d355-49d6-981a-2d1c837eae07/ports", "rel": "self"}, {"href": "http://localhost/nodes/99d3b2c0-d355-49d6-981a-2d1c837eae07/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/99d3b2c0-d355-49d6-981a-2d1c837eae07/states", "rel": "self"}, {"href": "http://localhost/nodes/99d3b2c0-d355-49d6-981a-2d1c837eae07/states", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.027536s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?sort_key=resource_class WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-920b14d5-0161-4496-8ed9-e0ce71f96ad4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.039828s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'c098fff8-d236-4546-a642-07b85b0da3aa', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a9b337b-5832-4e3b-b714-b4b6e3f67663 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.027362s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/nope WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-769332a5-c6d7-4404-99c9-f954daee0e35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.064500s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43458b55-0c01-4c7c-9027-67c634bfcbae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.038964s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '08aad254-dfd0-4d1d-b531-00974a142e27', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10, 'foo': 'bar'}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5734da0a-cba1-4f7e-a80e-ec51de856858 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.045610s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-082a007a-2f84-4225-b4f1-9145a7fde545 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_network_interface": null, "enabled_network_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["direct", "ansible"], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": []} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-335267fd-4647-4cce-bf9a-bfd5acbc302a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-806e0fe0-ae2c-4bf4-84d4-9a3ffd348403 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.063368s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89a20bf8-ed26-4919-8dc7-3fd3f7e15acf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.034865s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '6b66c85f-3229-4ddf-ab2f-8934489c327b', 'steps': [{'interface': [3], 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cac1712-8226-49cb-bbc9-0542ba9d9403 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.043437s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4411db4a-3bb6-4c7a-be85-b58826c75cd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_network_interface": null, "enabled_network_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_bios_interface": null, "enabled_bios_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["direct", "ansible"], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": []} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42e4a5d1-0eed-4e9f-8746-88bd8348b6a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ea58a7e-2a5f-49da-ac65-ea7a75aa3549 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.035799s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '3320223a-998a-4739-9ac4-62ee57c91faa', 'steps': [{'interface': 'foo', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04ccdc28-dae2-46ee-873b-132f2edc69d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.026930s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4ea3ad7-7b75-4f4b-8995-7d25da068682 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.070816s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-779a3248-93d7-4760-9359-8dc364d7b704 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.024901s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?type=working WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3160c34a-9855-4f03-aa90-3e370224d927 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.035588s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '8d574879-e5b9-493f-9a21-21d82e18e042', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': -1}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dac239a-32a4-4ca6-bee5-525abce59ca8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.024408s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?type=classic WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db28efd7-5362-42ce-be21-15ac6d01d9cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.176323s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-921c73b8-d19e-457b-914d-86ff0d64ab49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.317377+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.037483s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'ca53d510-3753-4a94-a283-41d2589eb586', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 'not a number'}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a08abbdc-e0c4-46a5-a63c-8dfa85ed8fd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a number' does not match '^[0-9]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.030710s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?type=classic WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f846ca5-dc2d-438c-bde3-a97146d5de15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"drivers": []} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.030571s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?detail=True&fields=name WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fee753ff-ee4f-4c1c-acad-5d08efc89e82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.038381s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '75768f7d-9808-4dc9-82f8-522414c4a200', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-812b0ee7-9c80-4431-8656-4c6ce1ea7338 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.032529s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?type=dynamic WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c90dc14-66ae-458b-ad47-087acbc9a2ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic"}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2/properties", "rel": "bookmark"}], "type": "dynamic"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.035876s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?detail=False&fields=name WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4c1e8c5-9abf-47d5-9d7c-0553d79da390 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.101121s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-b6f2c7da-eb19-408a-be76-ea20836bcc40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.385693+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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a91a0e85-a077-44f0-b062-9fb2cd90ba40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.385693+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, DEBUG util.py:445: "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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.037098s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '9c15f81f-c191-4c25-9a15-9e35eb654da9', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/9c15f81f-c191-4c25-9a15-9e35eb654da9 DEBUG util.py:445: Openstack-Request-Id: req-f6eac7bd-bd87-4d6f-b208-6a451dc14189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9c15f81f-c191-4c25-9a15-9e35eb654da9", "created_at": "2024-03-19T00:19:59.414614+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9c15f81f-c191-4c25-9a15-9e35eb654da9", "rel": "self"}, {"href": "http://localhost/deploy_templates/9c15f81f-c191-4c25-9a15-9e35eb654da9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.029623s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?detail=True WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-602d96b1-6e32-424c-ae1b-e0979090971a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.047473s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3225661-c02c-4c64-9cb4-bbc566364759 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic"}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2/properties", "rel": "bookmark"}], "type": "dynamic"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56b2d129-c31c-467f-9ccd-9388e6d45580 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07b6dd4f-aa90-4821-861e-b4ba5ba0a308 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37752124-8da3-4d01-8f88-1a3b29711362 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c2a4372-366e-4d5f-9400-de5db9704597 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.036065s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'not-a-trait', 'uuid': '0b78109a-0ed7-49e1-ace5-54884acb392a', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-263d3a93-bf4b-4e92-8045-ec86e05b51b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not-a-trait' is not valid under any of the given schemas. Possible root cause: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.049665s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?associated=true WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4361238f-c6e2-4106-9e12-68d7b1f9d32e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "e1ed698c-9215-472e-8379-aef72266fdb7", "created_at": "2024-03-19T00:19:59.458240+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": "7540acbd-3d11-48fc-9b23-6f1f4c9b83d5", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/e1ed698c-9215-472e-8379-aef72266fdb7", "rel": "self"}, {"href": "http://localhost/nodes/e1ed698c-9215-472e-8379-aef72266fdb7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e1ed698c-9215-472e-8379-aef72266fdb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/e1ed698c-9215-472e-8379-aef72266fdb7/ports", "rel": "bookmark"}]}, {"uuid": "5f68e476-dc47-41ec-9921-e5ac719eabb7", "created_at": "2024-03-19T00:19:59.459998+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": "257f5654-9742-4393-ac0f-bc50f68ec713", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5f68e476-dc47-41ec-9921-e5ac719eabb7", "rel": "self"}, {"href": "http://localhost/nodes/5f68e476-dc47-41ec-9921-e5ac719eabb7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5f68e476-dc47-41ec-9921-e5ac719eabb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/5f68e476-dc47-41ec-9921-e5ac719eabb7/ports", "rel": "bookmark"}]}, {"uuid": "2fad58c4-97b2-41a2-a1ae-66c0cf7c2106", "created_at": "2024-03-19T00:19:59.461732+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": "7a3b69ef-0740-4aae-bf36-df940ef90ae5", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/2fad58c4-97b2-41a2-a1ae-66c0cf7c2106", "rel": "self"}, {"href": "http://localhost/nodes/2fad58c4-97b2-41a2-a1ae-66c0cf7c2106", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2fad58c4-97b2-41a2-a1ae-66c0cf7c2106/ports", "rel": "self"}, {"href": "http://localhost/nodes/2fad58c4-97b2-41a2-a1ae-66c0cf7c2106/ports", "rel": "bookmark"}]}, {"uuid": "d0d88521-4950-4df9-8ede-41851612574b", "created_at": "2024-03-19T00:19:59.463380+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": "ca237558-d50f-4e98-90b1-d9a9d090a17c", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "pro DEBUG util.py:445: perties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d0d88521-4950-4df9-8ede-41851612574b", "rel": "self"}, {"href": "http://localhost/nodes/d0d88521-4950-4df9-8ede-41851612574b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d0d88521-4950-4df9-8ede-41851612574b/ports", "rel": "self"}, {"href": "http://localhost/nodes/d0d88521-4950-4df9-8ede-41851612574b/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.068857s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-105b90cb-0462-4c07-aa92-cb8c8eb0adc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.047838s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c00ef6d1-cb79-4dbf-b4ce-c0c53c46b2f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_network_interface": null, "enabled_network_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["direct", "ansible"], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_console_interface": null, "enabled_console_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_network_interface": null, "enabled_network_interfaces": [], "default_deploy_interface": null, "enabled_deploy_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": []}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8fd8cf1-36fd-4d4c-b1c2-282db4a0a7af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4f36fe0-6d94-4564-b8a7-892ee9da302d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85e6db48-d394-49e8-82e4-09c853661dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e1b2fca-3595-463c-bde9-3d3020b1ee DEBUG util.py:445: dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.034069s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'ebcdefa8-7905-4635-ba22-5a873297560b', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-038af8ae-3e43-4308-81c5-b921214366f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.037036s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?instance_uuid=21a2aeac-63f7-4a13-a679-e6f6a9a9e04f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-084724b3-b22a-4111-a61c-d7fb8a126db2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "186dc27f-b289-41d0-9d6b-d67f84d43b61", "created_at": "2024-03-19T00:19:59.502995+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": "21a2aeac-63f7-4a13-a679-e6f6a9a9e04f", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/186dc27f-b289-41d0-9d6b-d67f84d43b61", "rel": "self"}, {"href": "http://localhost/nodes/186dc27f-b289-41d0-9d6b-d67f84d43b61", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/186dc27f-b289-41d0-9d6b-d67f84d43b61/ports", "rel": "self"}, {"href": "http://localhost/nodes/186dc27f-b289-41d0-9d6b-d67f84d43b61/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.035788s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'uuid': 'fa632106-f70e-4822-84c5-7c3ca23b3487', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4b0b8e4-485c-4584-8b0d-3d9b55994e2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.047316s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55bfa3af-eed4-43a7-95a3-e638d1bb3ccd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_network_interface": null, "enabled_network_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_bios_interface": null, "enabled_bios_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["direct", "ansible"], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": []}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2/properties", "rel": "bookmark"}], "type": "dynamic", "default_network_interface": null, "enabled_network_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_bios_interface": null, "enabled_bios_interfaces": [], "default_deploy_interface": null, "enabled_deploy_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": []}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bb0508b-8483-4f1d-becf-91c05f7a983f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8cf01d2-14d3-40e0-887d-a8200987ec98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req- DEBUG util.py:445: 58cc7ea1-a747-4456-baca-fce9e2eafafe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e81ae4da-100b-441b-977e-66cf2345e4e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.033400s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a2f79d1-2bca-4fd1-a70e-ad1db1381d63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.035561s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '453fba45-c4b0-4e70-8242-da9474393c1e', 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9dcede4-c9d3-4935-8122-3b9d122363d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.033670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers?fields=name,hosts WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f39cf83-f0cd-4486-a78a-fb5a88d8f0ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5049bf4-b373-4e31-885f-1c102434da6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.084304s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}} GOT Response: 201 Created 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-33b6d8ab-2241-4465-9262-753ad245c60f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.558275+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.035910s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ 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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5e72005-bad2-4462-97dd-897729456ee5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "power_interface": null, "raid_interface": null, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.040009s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'bd992967-e45a-466f-9d98-8efcac764585', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37d8c5e0-7fe4-4c81-99da-97ffcc79762b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_custom_fields [0.034710s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type?fields=name,hosts WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3c4f3b0-619f-4eea-80c9-cf1fa7db1de4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.032756s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ 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 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-405fd410-1be3-4f4d-a4d9-325f5ae8ae9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.032883s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type?fields=name,invalid WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67dc06f1-089d-4b1d-b0fa-83fa598550dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.039879s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'a398fb11-10c6-4b4f-94d4-f6ec5b53a964', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74b35928-59f0-46cf-ab49-080faf229964 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.084907s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-3a3f5ea5-ba2b-4021-90b8-7a456124ea7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.634646+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8c971a8-d124-4776-9ccc-488194e41096 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.634646+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.036181s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=automated_clean WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4759b82d-5b9e-4d16-8a9c-c4591923858c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.038923s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ba3611a-3616-4329-8050-e973640b3892 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-837a695e-d112-4d11-b3d0-c4a7fa10ceb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51573d83-043c-48a6-99bb-76cb26e771f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.041051s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'a2642403-0b00-4f0e-999a-c997c954a530', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d62e0c3e-a43c-44b0-9910-bbd85389deab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.034877s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf1cdfce-a04e-4b7c-87fa-3363ab354163 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"boot_device": "pxe", "persistent": true} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.064431s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9ecd316-f8b2-4d3e-94b6-6a3e4afbf45d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 'driver' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.038562s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bafe18d-b11c-4c44-89ac-c00f0f03341a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-877f7a0c-9016-48c6-a694-e8f6d2f7f777 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f9d716d-6c30-49d5-b45e-58effa74e091 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.041361s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'aad0a053-6ae6-4179-a1dd-3e1577dc1cfa', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-236a0f01-b546-4605-8243-9f5d6d158f7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.035014s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/spam/management/boot_device WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-707f5700-1eb4-48eb-a463-27c059652b90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"boot_device": "pxe", "persistent": true} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.030813s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e283e4fd-6313-410f-8d88-f2fd2bdd406e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"foo": "description of foo"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.034348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d665f804-cf5d-40dc-93d9-ff3b3eb86b1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.044902s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'HW_CPU_X86_VMX', 'uuid': 'd3d74015-08de-49df-b712-2d312a8515a6', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/d3d74015-08de-49df-b712-2d312a8515a6 DEBUG util.py:445: Openstack-Request-Id: req-e1360fa9-c280-4434-b9fa-fcb927bf725a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d3d74015-08de-49df-b712-2d312a8515a6", "created_at": "2024-03-19T00:19:59.768150+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d3d74015-08de-49df-b712-2d312a8515a6", "rel": "self"}, {"href": "http://localhost/deploy_templates/d3d74015-08de-49df-b712-2d312a8515a6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.036693s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f61188c-ed70-40fd-9f6a-224f79d3b9cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"foo": "description of foo"} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07642d2a-27ca-4a6e-be79-d40c3a320162 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"foo": "description of foo"} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bdd5f09-873f-4f07-8e55-94406999f808 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"foo": "description of foo"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.039782s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?fields=uuid,instance_info WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93e7710c-6bf1-4895-bd8f-f6b1baa5861d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "d10334cc-8ee9-4f2d-8855-e20ed49aca23", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/d10334cc-8ee9-4f2d-8855-e20ed49aca23", "rel": "self"}, {"href": "http://localhost/nodes/d10334cc-8ee9-4f2d-8855-e20ed49aca23", "rel": "bookmark"}]}, {"uuid": "dadf4330-fe2c-4434-9ba4-f6d3086d4edb", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/dadf4330-fe2c-4434-9ba4-f6d3086d4edb", "rel": "self"}, {"href": "http://localhost/nodes/dadf4330-fe2c-4434-9ba4-f6d3086d4edb", "rel": "bookmark"}]}, {"uuid": "105944e0-ea73-4b28-9a85-3e1b0209c0fb", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/105944e0-ea73-4b28-9a85-3e1b0209c0fb", "rel": "self"}, {"href": "http://localhost/nodes/105944e0-ea73-4b28-9a85-3e1b0209c0fb", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.094828s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'cowsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-c84dc35b-818d-4570-b366-fb12ccae88fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.788556+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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "cowsay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a0c2d84-53c6-4648-a6e8-1c964865f90a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.788556+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "cond DEBUG util.py:445: uctor_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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "cowsay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.044531s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '0c566101-511c-4dbd-97b4-876c7b69ce7c', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': '42'}], 'extra': {}} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/0c566101-511c-4dbd-97b4-876c7b69ce7c DEBUG util.py:445: Openstack-Request-Id: req-95f5544e-56bc-41fa-a5b9-afc85db5a07e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "0c566101-511c-4dbd-97b4-876c7b69ce7c", "created_at": "2024-03-19T00:19:59.813663+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/0c566101-511c-4dbd-97b4-876c7b69ce7c", "rel": "self"}, {"href": "http://localhost/deploy_templates/0c566101-511c-4dbd-97b4-876c7b69ce7c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.032841s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eaed0e6a-0f53-4309-9f95-d580c8276ac6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields_as_list [0.038616s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?fields=uuid&fields=instance_info WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af4a3dba-676b-41e7-a4f0-58d6fec19c98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "13500aca-24a5-4cdd-b81f-9f6c7ad23b4a", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/13500aca-24a5-4cdd-b81f-9f6c7ad23b4a", "rel": "self"}, {"href": "http://localhost/nodes/13500aca-24a5-4cdd-b81f-9f6c7ad23b4a", "rel": "bookmark"}]}, {"uuid": "8d8857bd-8978-463b-933a-e168649c252d", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/8d8857bd-8978-463b-933a-e168649c252d", "rel": "self"}, {"href": "http://localhost/nodes/8d8857bd-8978-463b-933a-e168649c252d", "rel": "bookmark"}]}, {"uuid": "7b5b37af-e754-484b-8569-a99a6cd09aec", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/7b5b37af-e754-484b-8569-a99a6cd09aec", "rel": "self"}, {"href": "http://localhost/nodes/7b5b37af-e754-484b-8569-a99a6cd09aec", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.030111s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-605401a5-3479-4173-b1f0-1c74e3f15647 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.041738s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'c91d4893-ec82-4170-9cb7-38687cf43879', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb75a22e-9933-4f21-8968-db37b6075c2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.023931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.020574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.055346s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ 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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3afbbf43-7f8f-48ca-aec2-7fb49cca9511 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "4b232bb0-3a2f-4069-911b-29ac945f4bf3", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "dc40d3ce-51fb-4e73-a5a9-905f04880051", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/4b232bb0-3a2f-4069-911b-29ac945f4bf3", "rel": "self"}, {"href": "http://localhost/nodes/4b232bb0-3a2f-4069-911b-29ac945f4bf3", "rel": "bookmark"}]}, {"uuid": "e9d06af5-80f4-4abc-89df-3d88f4e9655f", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "e1d9c45b-a482-419b-a5e8-379096fc3b8b", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/e9d06af5-80f4-4abc-89df-3d88f4e9655f", "rel": "self"}, {"href": "http://localhost/nodes/e9d06af5-80f4-4abc-89df-3d88f4e9655f", "rel": "bookmark"}]}, {"uuid": "bce50ff9-584e-4f9c-836a-485b1b1b0e93", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "87c9e5f4-3778-47f7-9f8b-bd973c97e6d0", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/bce50ff9-584e-4f9c-836a-485b1b1b0e93", "rel": "self"}, {"href": "http://localhost/nodes/bce50ff9-584e-4f9c-836a-485b1b1b0e93", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.069963s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'bob', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d324395-e754-490f-b662-be628292c7db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.039702s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-810dde40-e584-451f-8d97-4a0c883c5716 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"prop1": "Property 1. Required."} DEBUG util.py:445: GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cecd7e29-e6fc-493e-ac90-1994fc735bc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"prop1": "Property 1. Required."} DEBUG util.py:445: GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8b5cc70-a467-4a08-a2d6-b9a4ccf8d140 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"prop1": "Property 1. Required."} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.021397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.037571s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?fields=name&limit=2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cb805a1-56a7-4207-a7b6-4783092d950b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"name": null, "links": [{"href": "http://localhost/v1/nodes/747e2d6c-e81f-4cf6-b005-3e25a802d787", "rel": "self"}, {"href": "http://localhost/nodes/747e2d6c-e81f-4cf6-b005-3e25a802d787", "rel": "bookmark"}]}, {"name": null, "links": [{"href": "http://localhost/v1/nodes/cae8dd6a-9b20-48ae-a5c6-8d6af4adf214", "rel": "self"}, {"href": "http://localhost/nodes/cae8dd6a-9b20-48ae-a5c6-8d6af4adf214", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=cae8dd6a-9b20-48ae-a5c6-8d6af4adf214"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.036371s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/driver/properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fce1c8d3-e497-44ea-8a94-a0ea61ed5fd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.022235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.033412s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/test/properties WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-741769ef-785c-4a8e-8fbe-2ebdd9259508 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"prop1": "Property 1. Required."} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.035743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_recorded_project_scope [0.097931s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-aa6718a4-d9df-4869-9025-6bdedaef42d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.959665+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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "ravensay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a323566-a318-48bf-a8be-e95cf7f5638b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:19:59.959665+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", DEBUG util.py:445: "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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "ravensay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.051523s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebb82805-7f8b-4adb-af39-d2edd87a8033 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"links": [{"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: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.035310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a55d6bb7-c1f8-458d-a790-21769f64b17d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"prop1": "Property 1. Required."} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.047988s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-746a117c-936d-40f9-a7da-af80d1e72cda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.038615s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ca800a9-8e25-4b81-9de6-d9a0b2ff1ceb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.031714s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/bad_driver/properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7265cc26-95f3-4a6e-a0cf-ee9ae05440b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.030874s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'INVALID': 'fake.event'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30b0c56a-85dc-44c9-be45-4adcf3475ae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.044268s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f0e706f-926f-4c8b-ba37-e3d2cbeec627 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.039744s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-d845dd96-fa34-43e5-9fa4-ec5b6f63674a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.031334s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'invalid.event'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ba78f47-9995-4805-a196-32bd243175b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_system_scope [0.104865s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'catsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-eedbe38c-2527-4e31-a9fc-a66d8fe00bc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:00.063341+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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "catsay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83fd84e4-744e-4d79-9183-58ab2c75fb53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:00.063341+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "cond DEBUG util.py:445: uctor_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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "catsay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.034887s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29679f88-fa32-42ae-ad46-ace0e1e04f5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.038018s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'INVALID': 'fake.event'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eff6bdcf-db9b-41fe-843a-fd888b5f0bb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.032529s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a723a97-05f9-4264-a7bb-f878a07e45b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.062269s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'protected': True} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b25b2d22-9346-47de-94ed-1882a366746a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('protected' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.037129s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c642da0-df56-4c51-95b6-1a4c57c6548e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"console_enabled": true, "console_info": {"test": "test-data"}} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.030753s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'invalid.event'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65485f0d-d925-4aed-b43b-f1b05e65c0f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.042597s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-eaf2e8ab-31bc-49c1-aa28-1cc10023166a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.036414s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/spam/states/console WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0d27d9a-10d5-49d7-a606-867115599f30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"console_enabled": true, "console_info": {"test": "test-data"}} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.051450s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a233e1b9-ee35-4119-86e6-3944bcc989e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.039971s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-083d1b50-1189-4b4c-87f1-89e2ad795031 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"console_enabled": false, "console_info": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.048914s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-28feae63-3f2f-492e-91e7-863e13ad3f1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.038892s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf019723-e3bf-4d5f-bfb6-728b222b2f65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.038598s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-22fd2e5a-0041-40a1-824f-106aa47ca8fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.035527s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74f2d7ab-eb85-41bd-b719-da661e0be7b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.168774s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'maintenance', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43366324-c6d3-4b72-8488-99eca0a77ea8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'name': 'management', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-611ccd03-806e-4417-b65c-a80014309b5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'name': 'states', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ea96ac3-8eba-447b-adae-8067b0cf94e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'name': 'vendor_passthru', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22ad98cc-91ec-4fc3-938b-00fe0805a2be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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, state DEBUG util.py:445: s, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: POST /v1/nodes WITH {'name': 'detail', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4830b8af-4e8a-409a-b4cf-346b23ff49b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'name': 'validate', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e96093fe-c14d-476b-a72f-83093b2eeb33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.036177s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.delete_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-797a4ab1-082c-48e1-9764-d1600d5bc439 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.035073s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e939ce13-5e7a-4e8b-abb3-0dfca1df3a28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field spongebob is not a valid field.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.174777s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-3128d5ff-906b-415e-a82c-12c7d5614c1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.039458s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2be50215-0962-458e-b0d1-76207f797463 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.033601s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.delete_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-0d48638d-3c62-4f1e-a806-724d0078ccac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.038817s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=description WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00beca72-71f8-4be0-9d7b-424c91fc6f76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.031399s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e40d9c13-b1ad-4117-b092-78e83f52bb60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.039058s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT']}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80966c9a-900b-49c1-8568-e9981b27b50f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.035507s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce391a19-ae73-41fa-a104-9bb78dc4a651 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"state": "on"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.097530s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-a01d9feb-8abc-425b-8012-a7718606eee8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:00.394285+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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": "foo", "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb5b5848-a7e6-4430-a48b-b3d5aa8b8827 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:00.394285+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "c DEBUG util.py:445: onductor_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, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": "foo", "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.031184s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT']}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7b3d630-bb4c-4bc0-802c-fe3fe1093fa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.034568s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80c92ad8-4414-49b1-9374-e7e5e788dbf1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.039819s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f397c8b4-2c35-4ce1-83e5-d8ab92fbd6a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.031550s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-edca615f-8932-4a02-a657-5e2581eb04b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.035737s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f430a9b4-9640-456f-9e89-c545697ed789 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"state": "on"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.033773s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'INVALID_MAC_ADDRESS', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5edaf66d-88d0-448a-8253-7fba06cfac89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.067142s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84fb1787-f532-4ac0-80ad-ba92cd19a135 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.031358s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'INVALID_MAC_ADDRESS', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ab3d8fd-fc85-4d6a-a754-caf65da4a76a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.037593s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6992b0f-8f73-4da8-877f-501b6789e031 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.042706s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=lessee WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6d45a40-c1a8-4759-9e85-197b10dd6cea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.035233s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a4281d7-d331-40c7-9d96-7e01e0e00d40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.035764s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-318598a4-9d27-41dd-871c-74276ae03db5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.039650s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ba30c73-ed2c-42cd-8bd7-a1c364d1e1da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"network_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.031173s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0a4c034-6fbf-4eb2-9055-13050c65abfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.085044s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-dd0df0f4-1cd9-4741-a9ee-2c966f8b299c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:00.551470+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "foo", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a02d5b24-28ad-4e80-8559-71fb69ed983a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:00.551470+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": "*** DEBUG util.py:445: ***", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.039282s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.unbind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-f7b7b525-9202-49a6-b7b2-204c05203de1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.035310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.unbind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-38f3c4c4-4282-41e3-88f3-111e8fae81e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.038199s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b7e1216-be6a-49fc-9b73-257972cb62eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.031519s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6165417a-dbb2-47e1-94e9-c4dbbee095f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.063997s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4751af6d-c717-48d5-8a17-8fa846db91a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.041295s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/events WITH {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2ad4a04-6b9a-43cc-9e62-59573e7d1488 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.052132s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?conductor=rocky.rocks WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-026f1749-5388-46f3-8031-39c19cfd2430 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": []} DEBUG util.py:445: GET /v1/nodes?conductor=fake.conductor WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d517348f-fa40-4dd9-b2a6-6860ee914373 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "7ac471fc-44e1-405b-a06e-81a59f0c05da", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/7ac471fc-44e1-405b-a06e-81a59f0c05da", "rel": "self"}, {"href": "http://localhost/nodes/7ac471fc-44e1-405b-a06e-81a59f0c05da", "rel": "bookmark"}]}, {"uuid": "be655a61-8bd2-4e38-8ac1-5c864f152cc6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/be655a61-8bd2-4e38-8ac1-5c864f152cc6", "rel": "self"}, {"href": "http://localhost/nodes/be655a61-8bd2-4e38-8ac1-5c864f152cc6", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?conductor=fake.conductor WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b0d74c9-47ea-41bd-b018-b28b33cd96a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "be655a61-8bd2-4e38-8ac1-5c864f152cc6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/be655a61-8bd2-4e38-8ac1-5c864f152cc6", "rel": "self"}, {"href": "http://localhost/nodes/be655a61-8bd2-4e38-8ac1-5c864f152cc6", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.033242s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'a9cb68db-1528-47dd-b291-c99b89037c80'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-7424dff4-7e3a-430a-92d4-f8b7781088d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.042267s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc3760c8-0b77-43cb-8e78-39f21a8a6f68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.033645s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/node-39/vifs WITH {'id': 'a27a849a-07cb-4329-81ea-60d3d86573f4'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-007e3fbc-4204-4494-ab40-fb2704689763 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.036766s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-4726db7a-eb80-498b-972e-9a06f03089d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.068094s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?conductor_group=group1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eadd6506-65a8-4f99-bee4-988dad28f506 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "a7164bb4-25d9-4bca-81bf-733d85dca134", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134", "rel": "self"}, {"href": "http://localhost/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?conductor_group=group2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78aa8564-143e-4081-a844-66e66c55f157 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "c24aae9a-4ef1-4bc8-91da-2f4ee1085e20", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20", "rel": "self"}, {"href": "http://localhost/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail?conductor_group=group1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6009a5e9-da00-4e52-b72f-6baacbff576c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "a7164bb4-25d9-4bca-81bf-733d85dca134", "created_at": "2024-03-19T00:20:00.685500+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "group1", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134", "rel": "self"}, {"href": "http://localhost/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134/ports", "rel": "self"}, {"href": "http://localhost/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134/states", "rel": "self"}, {"href": "http://localhost/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134/volume", "rel": "self"}, {"href": "http://localhost/nodes/a7164bb4-25d9-4bca-81bf-733d85dca134/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail?conductor_group=group2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48807a35-d46d-4967-b DEBUG util.py:445: e77-b64660d628be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "c24aae9a-4ef1-4bc8-91da-2f4ee1085e20", "created_at": "2024-03-19T00:20:00.687391+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "group2", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20", "rel": "self"}, {"href": "http://localhost/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20/ports", "rel": "self"}, {"href": "http://localhost/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20/states", "rel": "self"}, {"href": "http://localhost/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20/volume", "rel": "self"}, {"href": "http://localhost/nodes/c24aae9a-4ef1-4bc8-91da-2f4ee1085e20/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.032968s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/node-39/vifs WITH {'id': 'afdcf45b-a134-4d92-94da-0654a44035bb'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2bc4d86-34ad-4593-b7ed-08fa9951d32f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.038473s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/foo.1 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ae10ff9b-0fe3-4ad4-bd3b-80e6b21bff72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.037517s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?conductor_group=group1 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27e12c4d-5c55-45b6-87b4-98dee84749ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75f048ad-eea2-4149-a3fd-9350872779e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.033417s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'invalid%id^'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85f4c05d-4a3d-4177-824e-a889e69ae5e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.033914s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/foo GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1bedb736-7121-4c66-bafc-600af3833bf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.032763s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'bad_id': '4da2ec26-d195-48d4-b552-53c7032c7b97'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49a896b9-8452-4d2b-9666-9ef5ffb03ef2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vif: 'id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.052955s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?conductor=like.shadows WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf9bb721-4fae-4be6-b092-308f745bf9af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": []} DEBUG util.py:445: GET /v1/nodes?conductor=like.shadows WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f23b1922-d9a8-4f52-ac0d-07dc8accb63c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": []} DEBUG util.py:445: GET /v1/nodes?conductor=fake.conductor WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87fbcc41-a4ed-4d79-a9e1-9bfa8edf7066 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.039939s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/foo.json GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-68cd604d-ffd1-4b53-b0d8-fee4f095947e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.032214s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': '69f8c817-2975-47ae-855e-8b429131e9df'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a69976b-138b-4071-bf6d-0973d2dbef64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.033054s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?conductor=rocky.rocks WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-196458d3-2032-4183-ada1-73f46e6a34a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.035176s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-b15f51e0-9941-4170-a2ae-55369a60237e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.036020s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/doesntexist/vifs WITH {'id': '04c7750b-eb38-404a-8285-ec871a111241'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad0d399c-0c0c-44eb-b683-9be268fcb4da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.049311s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?description_contains=cat WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd1c3817-28dd-4e21-bf39-48ad7db06762 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "f8a57d96-1af1-4bd3-babf-04787a3886de", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/f8a57d96-1af1-4bd3-babf-04787a3886de", "rel": "self"}, {"href": "http://localhost/nodes/f8a57d96-1af1-4bd3-babf-04787a3886de", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?description_contains=dog WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6e22e09-6e90-4e3d-adb0-a1c363e280c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "c62877a5-7000-482a-a8e0-222453a62d47", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c62877a5-7000-482a-a8e0-222453a62d47", "rel": "self"}, {"href": "http://localhost/nodes/c62877a5-7000-482a-a8e0-222453a62d47", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.036822s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/foo/maintenance GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-417c5b64-6c67-4d58-a42c-bfe921b81575 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.033725s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'c3a9df2a-f4cd-4676-8804-a19799d83402', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb7da2cd-c346-41df-a64f-53f7a8392c09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.029820s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffe52b32-85b4-4aeb-aca8-9348fc65b021 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.032605s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': '3d9e2ba0-8d85-498d-a01f-24ccfc552e73', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-2bdf4bf1-4930-4292-8826-e58c3e605b91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.048090s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?driver=ipmi WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5aa8315-cadc-42c4-9810-f82a45452009 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "2b46d8bb-ac34-4b13-b49c-3128aca96fb4", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/2b46d8bb-ac34-4b13-b49c-3128aca96fb4", "rel": "self"}, {"href": "http://localhost/nodes/2b46d8bb-ac34-4b13-b49c-3128aca96fb4", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?driver=fake-hardware WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe2345d9-6254-49b1-a420-5f50472aa084 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1cefe2a6-1767-420c-834b-c687a9e1fb03", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1cefe2a6-1767-420c-834b-c687a9e1fb03", "rel": "self"}, {"href": "http://localhost/nodes/1cefe2a6-1767-420c-834b-c687a9e1fb03", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.030493s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/foo GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-547e1d15-3a22-46f6-9338-765212fdda0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.030145s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/8eabbd56-8e3c-4210-ad55-075669a0f4bf GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-84d6d76c-84c1-4f9a-b7a8-8b350fe9e2db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.031380s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?driver=fake WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffc87913-a3f3-4a58-85be-82436db1a4ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.031539s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/foo GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-767cc599-690d-4b04-b87d-38dae1f2a9f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.030610s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/node-39/vifs/2b619ff9-e060-4732-866f-492fcffee641 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e566d46e-bff6-40b8-8870-034b3e01926e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.031359s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/e02de2cb-a41e-4cd7-8c40-8c3e9c8ffab6 GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee2cadde-4c32-4a89-ad20-29588c0efd3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.074018s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?fault=power failure WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfc6d597-6e40-401c-b8c7-08322cc8075c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "97736d29-fd03-4792-8ab5-b57bd110c2cf", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf", "rel": "self"}, {"href": "http://localhost/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?fault=clean failure WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-855c5337-e702-4213-b642-d9bd0ec81219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "50dbff6b-2ec8-4d03-945a-3f3f45622b18", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18", "rel": "self"}, {"href": "http://localhost/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail?fault=power failure WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04c11975-dd66-4945-a2da-d37658351e2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "97736d29-fd03-4792-8ab5-b57bd110c2cf", "created_at": "2024-03-19T00:20:01.008843+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": "power failure", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf", "rel": "self"}, {"href": "http://localhost/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf/ports", "rel": "self"}, {"href": "http://localhost/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf/states", "rel": "self"}, {"href": "http://localhost/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf/volume", "rel": "self"}, {"href": "http://localhost/nodes/97736d29-fd03-4792-8ab5-b57bd110c2cf/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail?fault=clean failure WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-166d2a4e-1f0d-46d8-bb75-e5aead5cbc02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-V DEBUG util.py:445: ersion: 1.90 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: {"nodes": [{"uuid": "50dbff6b-2ec8-4d03-945a-3f3f45622b18", "created_at": "2024-03-19T00:20:01.011054+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": "clean failure", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18", "rel": "self"}, {"href": "http://localhost/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18/ports", "rel": "self"}, {"href": "http://localhost/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18/states", "rel": "self"}, {"href": "http://localhost/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18/volume", "rel": "self"}, {"href": "http://localhost/nodes/50dbff6b-2ec8-4d03-945a-3f3f45622b18/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.054042s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3025a42c-4fa0-497e-bbb5-bafaa730dc01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.031917s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/doesntexist/vifs/dbfbefa6-c973-4889-8668-678e1d7c028e GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c91fd0ca-2619-414d-bfd1-89aab872d0ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.039448s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?fault=power failure WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55628cea-b9da-42ca-8258-02990fddc930 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a716eb0-21b0-4f06-8ecf-295f0ad1acf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.032542s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6fb8e7ae-22d8-477e-b1e5-7e90c435d397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"vifs": []} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [0.468204s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '88b3b969-61f9-4194-852d-19a4531c04c1', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1 DEBUG util.py:445: Openstack-Request-Id: req-869f5a08-0cb9-44d2-8576-701544a0e6aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "88b3b969-61f9-4194-852d-19a4531c04c1", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/ports", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/states", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/volume", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d87b36f5-abc6-4864-a031-953df2e4c77a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "88b3b969-61f9-4194-852d-19a4531c04c1", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": nul DEBUG util.py:445: l, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/ports", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/states", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/volume", "rel": "self"}, {"href": "http://localhost/nodes/88b3b969-61f9-4194-852d-19a4531c04c1/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '7cf4761a-08a5-44c6-8418-62a410b370f0', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0 DEBUG util.py:445: Openstack-Request-Id: req-0ee04960-0758-4b23-b142-6bbdad162e16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "7cf4761a-08a5-44c6-8418-62a410b370f0", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/ports", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418- DEBUG util.py:445: 62a410b370f0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/states", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/volume", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b482f8f6-19c9-49e0-a50f-cc95faacbd36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "7cf4761a-08a5-44c6-8418-62a410b370f0", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/ports", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/states", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/volume", "rel": "self"}, {"href": "http://localhost/nodes/7cf4761a-08a5-44c6-8418-62a410b370f0/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '61434e09-1d01-40d6-a2e4-eaa8871761b9', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9 DEBUG util.py:445: Openstack-Request-Id: req-923c4c86-36d8-4034-9829-9d07ba2e7220 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openst DEBUG util.py:445: ack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "61434e09-1d01-40d6-a2e4-eaa8871761b9", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/ports", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/states", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/volume", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f940f53f-f65e-4b51-863b-727458f239b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "61434e09-1d01-40d6-a2e4-eaa8871761b9", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/ DEBUG util.py:445: nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/ports", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/states", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/volume", "rel": "self"}, {"href": "http://localhost/nodes/61434e09-1d01-40d6-a2e4-eaa8871761b9/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '022e8cb3-6d18-446b-863d-135faef28d0a', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a DEBUG util.py:445: Openstack-Request-Id: req-1404b63a-e18f-47f0-81ee-0a1091d31622 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "022e8cb3-6d18-446b-863d-135faef28d0a", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/ports", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/states", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/volume", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6aada456- DEBUG util.py:445: ea41-4065-aa8f-e5f92117b0b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "022e8cb3-6d18-446b-863d-135faef28d0a", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/ports", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/states", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/volume", "rel": "self"}, {"href": "http://localhost/nodes/022e8cb3-6d18-446b-863d-135faef28d0a/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': 'd80fcc84-1c13-4265-9638-2f9695676150', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150 DEBUG util.py:445: Openstack-Request-Id: req-a6ea4eff-420e-4120-ac1c-dcbad85be8d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "d80fcc84-1c13-4265-9638-2f9695676150", "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": DEBUG util.py:445: {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150/ports", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150/states", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150/volume", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acb13bfb-677e-49f0-9f5c-d0f6ed93e7cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "d80fcc84-1c13-4265-9638-2f9695676150", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150/ports", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150/states", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d80fcc84-1c13-4265-9638-2f9695676150/volume", "rel": "self"}, {"href": "http://localhost/nodes/d80fcc84-1c13-4265-9638-2f9695676150/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WIT DEBUG util.py:445: H {'uuid': '1af5fec2-80ec-466f-9f0b-a42ed5175986', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986 DEBUG util.py:445: Openstack-Request-Id: req-6deaa97a-f9e7-4060-aa96-0943ec950b9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1af5fec2-80ec-466f-9f0b-a42ed5175986", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/ports", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/states", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/volume", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fa1160b-4e85-47c6-bcb6-d22f3958a079 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1af5fec2-80ec-466f-9f0b-a42ed5175986", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_in DEBUG util.py:445: terface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/ports", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/states", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/volume", "rel": "self"}, {"href": "http://localhost/nodes/1af5fec2-80ec-466f-9f0b-a42ed5175986/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '0d2f032d-7f2b-476f-bbe6-275caec1194a', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a DEBUG util.py:445: Openstack-Request-Id: req-959428f7-a958-44d0-a000-424a94bef688 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "0d2f032d-7f2b-476f-bbe6-275caec1194a", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/ports", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/ports", DEBUG util.py:445: "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/states", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/volume", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be28d15f-82db-4483-9a14-63df0523a7f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "0d2f032d-7f2b-476f-bbe6-275caec1194a", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/ports", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/states", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/volume", "rel": "self"}, {"href": "http://localhost/nodes/0d2f032d-7f2b-476f-bbe6-275caec1194a/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '0051651a-344c-49ee-81ed-72e16348d18e', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e DEBUG util.py:445: Openstack-Request-Id: req-03146889-be0a-459e-8ef4-28cae5c60afd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Versi DEBUG util.py:445: on: 1.40 DEBUG util.py:445: {"uuid": "0051651a-344c-49ee-81ed-72e16348d18e", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e/ports", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e/states", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e/volume", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-582a5753-1773-4434-84ca-cd4a28ff728c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "0051651a-344c-49ee-81ed-72e16348d18e", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0051651a-344c- DEBUG util.py:445: 49ee-81ed-72e16348d18e/ports", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e/states", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0051651a-344c-49ee-81ed-72e16348d18e/volume", "rel": "self"}, {"href": "http://localhost/nodes/0051651a-344c-49ee-81ed-72e16348d18e/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '7bd62211-83b1-48cb-9586-8d26be88b321', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321 DEBUG util.py:445: Openstack-Request-Id: req-a1806770-2420-4f30-ba71-89f301ceaec1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "7bd62211-83b1-48cb-9586-8d26be88b321", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/ports", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/states", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/volume", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3235d53-65b1-4e7e-8d3a-76d39 DEBUG util.py:445: 18b5f79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "7bd62211-83b1-48cb-9586-8d26be88b321", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/ports", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/states", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/volume", "rel": "self"}, {"href": "http://localhost/nodes/7bd62211-83b1-48cb-9586-8d26be88b321/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': 'be4aed6b-ed7a-45ad-93d4-2c9be627882b', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'rescue_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b DEBUG util.py:445: Openstack-Request-Id: req-fe9ec107-cc60-47d3-8d19-4e4e5c4a54e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "be4aed6b-ed7a-45ad-93d4-2c9be627882b", "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", " DEBUG util.py:445: 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/be4aed6b-ed7a-45ad-93d4-2c9be627882b", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/ports", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/states", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/volume", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d631908a-8a15-4e35-95ba-db4953f4af5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "be4aed6b-ed7a-45ad-93d4-2c9be627882b", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/ports", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/states", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/volume", "rel": "self"}, {"href": "http://localhost/nodes/be4aed6b-ed7a-45ad-93d4-2c9be627882b/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '15945beb-681 DEBUG util.py:445: f-46c3-a3e0-7e9c050ac79a', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'noop', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a DEBUG util.py:445: Openstack-Request-Id: req-be285991-f722-41df-9ab0-cef18a785d19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "15945beb-681f-46c3-a3e0-7e9c050ac79a", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/ports", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/states", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/volume", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ef4d4a3-131f-46e6-94b7-b2b3b9234ae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "15945beb-681f-46c3-a3e0-7e9c050ac79a", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "nam DEBUG util.py:445: e": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/ports", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/states", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/volume", "rel": "self"}, {"href": "http://localhost/nodes/15945beb-681f-46c3-a3e0-7e9c050ac79a/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '0eb386b9-ab31-4511-ad4c-8bab5f86b4a9', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9 DEBUG util.py:445: Openstack-Request-Id: req-c8cf74c3-7828-4b50-95d0-02a97111c5b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "0eb386b9-ab31-4511-ad4c-8bab5f86b4a9", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/ports", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/ports", "rel": "bookmark"}], DEBUG util.py:445: "states": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/states", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/volume", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0422a2f6-0920-4b56-b420-9bdde04b98d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "0eb386b9-ab31-4511-ad4c-8bab5f86b4a9", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/ports", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/states", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/volume", "rel": "self"}, {"href": "http://localhost/nodes/0eb386b9-ab31-4511-ad4c-8bab5f86b4a9/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.046574s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-289a3037-c219-4950-9352-14728b521957 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.030237s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_get_child_node [0.043557s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/children WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16fb4e62-5225-41cb-b47c-9dec5f6fec81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"children": ["b9c932d0-10ab-4dad-a23c-dbb241eda670"], "links": {"href": "http://localhost/v1/nodes?parent_node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "children"}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_node_children_by_single_node [0.052877s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/children WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d90ea1aa-8b78-44a8-8908-cb27bad2110c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"children": ["3b60c12b-5c98-472d-83be-7afba9b75af0", "8ace8bfb-e79f-4b6c-a00e-ebcb16526263"], "links": {"href": "http://localhost/v1/nodes?parent_node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "children"}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes [0.041803s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8205a015-4c0e-42f3-b3f7-75b5e46adc23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "din", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.186235s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8708f7c2-2466-4e06-9347-1ee83538cafe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75b413d2-d4e2-4ffd-a103-c02f34c98203 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0bb8373-48bd-4f40-b60b-75fa7f6f7197 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81531ccd-6059-415b-b6b5-d6d216703b23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'manageme DEBUG util.py:445: nt_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-154bdc40-c15d-45e2-b344-48f7e747ce2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c726b3f-9da4-4781-bba4-cccba753bd6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9eb34c6-885f-426b-86a4-67ac1276a203 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bee8d07b-75a4-41f0-a5af-886b62ad1eda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.194707s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b95e2c5-7766-4e1f-8e31-e477a17f8288 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.208399s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?fault=somefake WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d3312ef-809b-448d-ab15-0d8ab9b5092f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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', 'service failure')\", \"debuginfo\": null}"} DEBUG util.py:445: GET /v1/nodes/detail?fault=somefake WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1da28e3a-2901-4b36-a1b9-f138d7791bbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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', 'service failure')\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_cannot_see_children_if_not_owned [0.051647s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/?parent_node=66ee5411-221e-4f8c-bacb-60e08a3c0929 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9a4a464-81c6-47a3-8a3e-72dbcc6cdf64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.055418s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?driver=test WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46faed26-2c96-4926-b38b-9c28732da124 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": []} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.084372s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e0b5542-885d-48a1-9d7a-e3797965f827 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_ignores_parent_if_include_children_indicated [0.067513s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/?include_children=True&parent_node=111 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98d72f02-073e-436f-a67d-654efe20b0ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "din", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "6bd4b344-d553-4cd3-90b7-4c0bc92cacbf", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "not-yoda", "links": [{"href": "http://localhost/v1/nodes/6bd4b344-d553-4cd3-90b7-4c0bc92cacbf", "rel": "self"}, {"href": "http://localhost/nodes/6bd4b344-d553-4cd3-90b7-4c0bc92cacbf", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.032463s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?provision_state=test WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41096c27-b6d6-4d9f-bf7b-b7e8da8bd75d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.106321s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'traits': ['CUSTOM_4']} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19882145-1af4-4180-a8fb-cb2b6b9fa21c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_lists_empty_for_specific_parent [0.073415s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/?parent_node=ef34b9e3-182f-44f9-9544-f8db473b72b8 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5ca1ade-f3f8-42b1-a79b-68e06e76daa6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.078513s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?resource_class=test WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d9116cd-9c5a-4d0f-80fe-26e263e07b69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": []} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.122424s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-468bf855-b756-47ca-a98a-ec78bb46c768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_with_children_only_parent [0.071217s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/?include_children=True&fields=uuid,lessee,name,parent_node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3db345db-c869-4249-95fc-5e73c82a2668 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "lessee": "8c7a5388-d9ae-4eba-9a87-c33ce64c16ce", "name": "din", "parent_node": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.069709s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?resource_class=test WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e03b9fd1-a128-4fe7-ba77-5bf89f128479 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": []} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.142141s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d74464c-6fa3-4420-bc23-d6c9ea9c38ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_with_include_children [0.043502s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/?include_children=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3404688d-e1de-4ae3-a977-ac6fa1e15c1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "din", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "9630f9bf-7f9c-4070-a5bd-55db08eb1e95", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "not-yoda", "links": [{"href": "http://localhost/v1/nodes/9630f9bf-7f9c-4070-a5bd-55db08eb1e95", "rel": "self"}, {"href": "http://localhost/nodes/9630f9bf-7f9c-4070-a5bd-55db08eb1e95", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.085075s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?lessee=project1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5869f43b-202d-40cd-8434-784a205dd267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "94697634-4900-4a10-9779-10522d2b5223", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/94697634-4900-4a10-9779-10522d2b5223", "rel": "self"}, {"href": "http://localhost/nodes/94697634-4900-4a10-9779-10522d2b5223", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?lessee=project2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f038299-495d-491f-8648-aa4a124b4f2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "ab85b64f-dc0d-45bc-9f00-160c99cb16bb", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb", "rel": "self"}, {"href": "http://localhost/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail?lessee=project1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa278a04-ea24-4541-8171-65717d3265ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "94697634-4900-4a10-9779-10522d2b5223", "created_at": "2024-03-19T00:20:01.569366+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project1", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/94697634-4900-4a10-9779-10522d2b5223", "rel": "self"}, {"href": "http://localhost/nodes/94697634-4900-4a10-9779-10522d2b5223", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/94697634-4900-4a10-9779-10522d2b5223/ports", "rel": "self"}, {"href": "http://localhost/nodes/94697634-4900-4a10-9779-10522d2b5223/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/94697634-4900-4a10-9779-10522d2b5223/states", "rel": "self"}, {"href": "http://localhost/nodes/94697634-4900-4a10-9779-10522d2b5223/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/94697634-4900-4a10-9779-10522d2b5223/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/94697634-4900-4a10-9779-10522d2b5223/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/94697634-4900-4a10-9779-10522d2b5223/volume", "rel": "self"}, {"href": "http://localhost/nodes/94697634-4900-4a10- DEBUG util.py:445: 9779-10522d2b5223/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail?lessee=project2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc94cff8-2461-4503-a2c8-5f0f9228120c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "ab85b64f-dc0d-45bc-9f00-160c99cb16bb", "created_at": "2024-03-19T00:20:01.571673+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project2", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb", "rel": "self"}, {"href": "http://localhost/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb/ports", "rel": "self"}, {"href": "http://localhost/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb/states", "rel": "self"}, {"href": "http://localhost/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb/volume", "rel": "self"}, {"href": "http://localhost/nodes/ab85b64f-dc0d-45bc-9f00-160c99cb16bb/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.110668s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da270832-2a5a-45fa-9551-909e16d29370 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.084929s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28da05b8-e1c3-4428-a4ce-238081fd1cbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": []} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.074936s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?lessee=project1 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62592517-17f8-4c07-9d71-85878474c7fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fcb4bfa-b296-48df-8192-1f8db97c7722 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_detail [0.057072s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?detail=true WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ef8d14e-2c61-42a8-a97a-b3ebc0421ae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "b9a1ce2c-2ec8-44cb-86d2-dff541f64d0e", "created_at": "2024-03-19T00:20:01.708189+00:00", "severity": null, "event_type": null, "event": "meow", "conductor": "cat-tree1", "user": "peaches", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b9a1ce2c-2ec8-44cb-86d2-dff541f64d0e", "rel": "self"}]}, {"uuid": "c0724be2-d4b7-41f1-acfa-24904bacf8f3", "created_at": "2024-03-19T00:20:01.709324+00:00", "severity": null, "event_type": null, "event": "purr", "conductor": "cat-tree2", "user": "sage", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c0724be2-d4b7-41f1-acfa-24904bacf8f3", "rel": "self"}]}, {"uuid": "65b64d75-859b-450b-8dd4-235af307cb66", "created_at": "2024-03-19T00:20:01.710229+00:00", "severity": null, "event_type": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!", "conductor": "cat-tree3", "user": "bella", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/65b64d75-859b-450b-8dd4-235af307cb66", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.251918s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-f39b7058-1fbe-4478-9977-a1b597d533bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:01.714964+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33d7d81d-da0b-4177-b8e9-0d0d29aa9709 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:01.714964+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.094735s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?owner=fred WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-808ad6e5-5357-4aa0-9f1b-a9d9c691228e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "2096cf52-415d-448a-a082-ef1f58c62c98", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/2096cf52-415d-448a-a082-ef1f58c62c98", "rel": "self"}, {"href": "http://localhost/nodes/2096cf52-415d-448a-a082-ef1f58c62c98", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?owner=bob WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc4a8049-ae5a-4f0e-86bb-54233303e676 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "4b4da017-e2d5-4121-a3a3-3960c6713d2f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f", "rel": "self"}, {"href": "http://localhost/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail?owner=fred WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39c1e0cf-c6d8-45f5-9cfd-88de8334f0ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "2096cf52-415d-448a-a082-ef1f58c62c98", "created_at": "2024-03-19T00:20:01.759763+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "fred", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/2096cf52-415d-448a-a082-ef1f58c62c98", "rel": "self"}, {"href": "http://localhost/nodes/2096cf52-415d-448a-a082-ef1f58c62c98", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2096cf52-415d-448a-a082-ef1f58c62c98/ports", "rel": "self"}, {"href": "http://localhost/nodes/2096cf52-415d-448a-a082-ef1f58c62c98/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2096cf52-415d-448a-a082-ef1f58c62c98/states", "rel": "self"}, {"href": "http://localhost/nodes/2096cf52-415d-448a-a082-ef1f58c62c98/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2096cf52-415d-448a-a082-ef1f58c62c98/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2096cf52-415d-448a-a082-ef1f58c62c98/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2096cf52-415d-448a-a082-ef1f58c62c98/volume", "rel": "self"}, {"href": "http://localhost/nodes/2096cf52-415d-448a-a082-ef1f58c62c98/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail?owner=bob WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: DEBUG util.py:445: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae439dbe-1c48-4e9a-89ca-c5625954be6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "4b4da017-e2d5-4121-a3a3-3960c6713d2f", "created_at": "2024-03-19T00:20:01.761810+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "bob", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f", "rel": "self"}, {"href": "http://localhost/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f/ports", "rel": "self"}, {"href": "http://localhost/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f/states", "rel": "self"}, {"href": "http://localhost/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f/volume", "rel": "self"}, {"href": "http://localhost/nodes/4b4da017-e2d5-4121-a3a3-3960c6713d2f/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_entries [0.108610s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7be69365-8b0a-4130-b6ee-ba012d8c04df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "4877f1d3-aa28-47f0-84e8-7a99a4d480e0", "created_at": "2024-03-19T00:20:01.812265+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4877f1d3-aa28-47f0-84e8-7a99a4d480e0", "rel": "self"}]}, {"uuid": "c7051f64-3b2d-421b-88f1-586a5acf789a", "created_at": "2024-03-19T00:20:01.813777+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c7051f64-3b2d-421b-88f1-586a5acf789a", "rel": "self"}]}, {"uuid": "019d66fa-eb13-4f90-8075-137066332075", "created_at": "2024-03-19T00:20:01.814746+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/019d66fa-eb13-4f90-8075-137066332075", "rel": "self"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.067186s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?owner=fred WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33763d55-e105-4c9c-b320-1fc7fc4b1c13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29ade3a3-73cc-4cd7-8824-5335d87cd364 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent [0.266001s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/5c21461a-b5a1-4824-a99a-afb6fae0bbb3 WITH [{'path': '/parent_node', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b5b83ad-6697-41c7-a0f0-646431b6e68d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:01.693460+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "djarin", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_old_version [0.063206s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.072626s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?provision_state=available WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e85f2dd0-ad74-42e5-bdf9-62e22071cd98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "dca794c6-7e0c-4c88-ab78-f1dd9c7823ba", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/dca794c6-7e0c-4c88-ab78-f1dd9c7823ba", "rel": "self"}, {"href": "http://localhost/nodes/dca794c6-7e0c-4c88-ab78-f1dd9c7823ba", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?provision_state=deploying WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fea6b532-9440-4020-af50-b5eb33930526 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "a8578e66-f7b9-490f-b805-2ee8067f960c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "deploying", "name": null, "links": [{"href": "http://localhost/v1/nodes/a8578e66-f7b9-490f-b805-2ee8067f960c", "rel": "self"}, {"href": "http://localhost/nodes/a8578e66-f7b9-490f-b805-2ee8067f960c", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent_node_fail_wrong_version [0.064462s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/8e32638f-b4a9-493b-94e0-069bc12b41f2 WITH [{'path': '/parent_node', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28a713e8-2bcf-4cba-ab58-82acb446102e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 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.TestNodeHistory.test_get_all_pagination [0.061309s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d3c62dc-e90d-4acf-8c77-ab405f423c44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "78f1cb90-c6d4-4e90-a5f6-4987c7fb2477", "created_at": "2024-03-19T00:20:01.927732+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/78f1cb90-c6d4-4e90-a5f6-4987c7fb2477", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=None&fields=uuid,created_at,severity,event&limit=1&marker=78f1cb90-c6d4-4e90-a5f6-4987c7fb2477"} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=78f1cb90-c6d4-4e90-a5f6-4987c7fb2477 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9210256f-9fc1-453d-952f-e02100cfdead DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0446d4b3-c968-435e-abb1-aa1f365f1f40", "created_at": "2024-03-19T00:20:01.928676+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0446d4b3-c968-435e-abb1-aa1f365f1f40", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree1',created_at=2024-03-19T00:20:01Z,event='meow',event_type=None,id=1,node_id=1,severity=None,updated_at=None,user='peaches',uuid=78f1cb90-c6d4-4e90-a5f6-4987c7fb2477)&fields=uuid,created_at,severity,event&limit=1&marker=0446d4b3-c968-435e-abb1-aa1f365f1f40"} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=0446d4b3-c968-435e-abb1-aa1f365f1f40 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5152449b-2740-4fd4-900a-a261620d3e0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "fe044cdc-0053-4a41-92e5-95594964ff59", "created_at": "2024-03-19T00:20:01.929504+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/fe044cdc-0053-4a41-92e5-95594964ff59", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree2',created_at=2024-03-19T00:20:01Z,event='purr',event_type=None,id=2,node_id=1,severity=None,updated_at=None,user='sage',uuid=0446d4b3-c968-435e-abb1-aa1f365f1f40)&fields=uuid,created_at,severity,event&limit=1&marker=fe044cdc-0053-4a41-92e5-95594964ff59"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.029760s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?provision_state=test WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38d8f07c-37ac-4b77-aae0-7a5ae19ce8d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.194101s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-7345400f-05fc-42c5-aae9-cd24c52d0a35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:01.924973+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fbe66c98-0193-400b-b429-af730b1fb061 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:01.924973+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item [0.043809s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/29cc49e1-3696-4973-8cca-2fbd59de1318 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20eacbdd-fc0b-4f94-97c7-c714bb603507 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "29cc49e1-3696-4973-8cca-2fbd59de1318", "created_at": "2024-03-19T00:20:01.990894+00:00", "severity": null, "event_type": null, "event": "meow", "conductor": "cat-tree1", "user": "peaches", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/29cc49e1-3696-4973-8cca-2fbd59de1318", "rel": "self"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.063731s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?resource_class=foo WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01ec05d3-b9fa-4c92-915e-72c8976a6932 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "26695ebc-16a7-488f-98e8-5736a7721b79", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/26695ebc-16a7-488f-98e8-5736a7721b79", "rel": "self"}, {"href": "http://localhost/nodes/26695ebc-16a7-488f-98e8-5736a7721b79", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?resource_class=bar WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8691298-be31-4847-bf38-4bb63ac2fdb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "c83c6af9-ce2e-485b-9e71-e7e7be70d63b", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c83c6af9-ce2e-485b-9e71-e7e7be70d63b", "rel": "self"}, {"href": "http://localhost/nodes/c83c6af9-ce2e-485b-9e71-e7e7be70d63b", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_not_found [0.050416s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/52949728-59fc-4651-84c8-b0a16b469372 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-daf9f271-76a3-483b-b86a-cd99cc834c36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node history record 52949728-59fc-4651-84c8-b0a16b469372 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.048147s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?resource_class=foo WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56e2ed25-af6b-422a-bc4f-2f07796727b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "9ed67898-9083-4c26-9beb-6e4599c50e50", "created_at": "2024-03-19T00:20:02.058090+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "foo", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/9ed67898-9083-4c26-9beb-6e4599c50e50", "rel": "self"}, {"href": "http://localhost/nodes/9ed67898-9083-4c26-9beb-6e4599c50e50", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9ed67898-9083-4c26-9beb-6e4599c50e50/ports", "rel": "self"}, {"href": "http://localhost/nodes/9ed67898-9083-4c26-9beb-6e4599c50e50/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9ed67898-9083-4c26-9beb-6e4599c50e50/states", "rel": "self"}, {"href": "http://localhost/nodes/9ed67898-9083-4c26-9beb-6e4599c50e50/states", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail?resource_class=bar WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02d44ee6-779e-4b3b-a5f4-76f6d1efa130 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "6c59aec1-26e4-4119-8df2-b28ab2bc6f93", "created_at": "2024-03-19T00:20:02.060255+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "bar", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/6c59aec1-26e4-4119-8df2-b28ab2bc6f93", "rel": "self"}, {"href": "http://localhost/nodes/6c59aec1-26e4-4119-8df2-b28ab2bc6f93", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6c59aec1-26e4-4119-8df2-b28ab2bc6f93/ports", "rel": "self"}, {"href": "http://localhost/nodes/6c59aec1-26e4-4119-8df2-b28ab2bc6f93/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6c59aec1-26e4-4119-8df2-b28ab2bc6f93/states", "rel": "self"}, {"href": "http://localhost/nodes/6c59aec1-26e4-4119-8df2-b28ab2bc6f93/states", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.103574s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-89bfd4ae-4f6f-48de-be6c-9e820213b215 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.071736+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38a2a2da-abbe-4954-9024-fba34de0be89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.071736+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent_node_not_uuid [0.136692s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/54e7b972-ad9d-4827-bea7-624e1c0fd0de WITH [{'path': '/parent_node', 'value': 'djarin', 'op': 'add'}] GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-377b6cc7-0019-4a0f-9bae-dbe2f21e1e53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"(sqlite3.InterfaceError) Error binding parameter 0 - probably unsupported type.\\n[SQL: SELECT allocations.created_at AS allocations_created_at, allocations.updated_at AS allocations_updated_at, allocations.version AS allocations_version, allocations.id AS allocations_id, allocations.uuid AS allocations_uuid, allocations.name AS allocations_name, allocations.node_id AS allocations_node_id, allocations.state AS allocations_state, allocations.owner AS allocations_owner, allocations.last_error AS allocations_last_error, allocations.resource_class AS allocations_resource_class, allocations.traits AS allocations_traits, allocations.candidate_nodes AS allocations_candidate_nodes, allocations.extra AS allocations_extra, allocations.conductor_affinity AS allocations_conductor_affinity \\nFROM allocations \\nWHERE allocations.id = ?]\\n[parameters: (,)]\\n(Background on this error at: https://sqlalche.me/e/14/rvf5)\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.033877s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?resource_class=fake WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c19301f2-1002-429a-924f-18e77af28c64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_old_version [0.068652s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1234 WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.037866s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?resource_class=fake WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5470c971-7ce4-48db-97b7-76962866bc0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.033957s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?traits=CUSTOM_TRAIT_1 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3250e372-246d-46c4-9f6e-cbbfe4f538e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.034077s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?traits=CUSTOM_TRAIT_1 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fadd35f8-4767-4f01-b17a-2a406b7c2f4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPost.test_create_node_with_shard [0.110338s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'shard': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-5e790608-c052-413b-964d-074a15c18e16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.209166+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": "foo", "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3f61a2e-38ea-4f55-a41f-65eb755aa12c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.209166+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "dep DEBUG util.py:445: loy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": "foo", "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_remove_parent [0.128189s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/21414406-918a-4c33-ad9b-a6780956fedd WITH [{'path': '/parent_node', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0089a69-27f6-402f-906c-9dc4f51a8dc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.156353+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "djarin", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.150090s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-2956dd70-6ac0-48bd-a669-078fc6e13036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.190715+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1553eb11-75fa-46d4-b67d-0720c9973959 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.190715+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.052391s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcc204a9-9a6b-4b8f-a5b0-86201a27a38f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.255782+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPost.test_create_node_with_shard_fail_wrong_version [0.068095s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'shard': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f4df9c8-b853-4f2a-978c-eec051c9678c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_multi_shard_as_list [0.078935s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?shard=foo&shard=bar WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e5f6217-d644-4670-aad5-264524b1376b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 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": "be5eeef0-06cc-43ba-8c2a-15665a547c7d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/be5eeef0-06cc-43ba-8c2a-15665a547c7d", "rel": "self"}, {"href": "http://localhost/nodes/be5eeef0-06cc-43ba-8c2a-15665a547c7d", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_configdrive_dict [0.041536s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-309ab775-3750-41ae-897c-bfcdefc9d79c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.301663+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanhold [0.047883s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} 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-cbe14e8a-a618-4479-8326-224e9d730b84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.85 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.039324s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b226ec8c-d4b9-48ea-96ea-18420da8efec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_multi_shard_detail [0.062623s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?shard=foo,bar WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-361d05c5-c95a-4cc2-a19e-53c00fd35d6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 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": "2b8d61ad-edba-4b93-ad78-e331c610eba5", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/2b8d61ad-edba-4b93-ad78-e331c610eba5", "rel": "self"}, {"href": "http://localhost/nodes/2b8d61ad-edba-4b93-ad78-e331c610eba5", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_as_list [0.040389s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra&fields=instance_info WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d2d3304-a496-497b-88de-f299c5166afb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.047024s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} 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-d0777391-293f-43fa-bb5d-96e2849fde88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard [0.069047s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?shard=foo WITH {'fields': 'shard'} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bad22223-d7b2-4fb1-a4d8-01af5cbb57bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"nodes": [{"shard": "foo", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.042354s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=driver_info WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3800e9e5-315b-4914-9429-67ca8e7d24ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_deployhold [0.051866s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} 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-47420dc6-24a0-4299-a49e-29ae56418fe8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.85 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard_detail_fails_wrong_version [0.047165s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?shard=foo WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5a8816c-3e79-4f89-ae4b-5f773b6a3108 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.82\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_deleted_chassis [0.050711s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b7e713b-ead1-44c8-954c-b1ba4d809da5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.473869+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard_fails_wrong_version [0.042888s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?shard=foo WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc67e739-0639-4446-85f0-6744e4e7ec13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.82\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.048278s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/node.json.json WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6afcff5d-dba7-4fe2-bae3-e8572b7f5d64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.525254+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node.json", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_conductor_group [0.324266s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-4ad10669-e6f4-4534-8106-3ee14f783dbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.546805+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b320074-ab58-433d-9476-3158765be391 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.546805+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "magic", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes DEBUG util.py:445: /1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/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.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_sharded [0.062315s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?sharded=true WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19345e37-1591-4f62-a8f8-fa058d1e0dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 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"}]}]} DEBUG util.py:445: GET /v1/nodes?sharded=false WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7372c2bb-a9ec-45d2-82a5-ecba7591c5de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"nodes": [{"uuid": "7fa6fc4b-a80a-4422-a6d3-04fc584af22c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/7fa6fc4b-a80a-4422-a6d3-04fc584af22c", "rel": "self"}, {"href": "http://localhost/nodes/7fa6fc4b-a80a-4422-a6d3-04fc584af22c", "rel": "bookmark"}]}, {"uuid": "3ce39ad4-c687-47f8-b722-e583d2f34c73", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/3ce39ad4-c687-47f8-b722-e583d2f34c73", "rel": "self"}, {"href": "http://localhost/nodes/3ce39ad4-c687-47f8-b722-e583d2f34c73", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.047205s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14d2c07d-9f3e-4668-8c97-fc4c74f745f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.573828+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.042639s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/node.json WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8716a094-8dfe-417f-bda6-eedeec007c26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.618104+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node.json", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.051609s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8923d88d-2149-4df6-b462-551e3bbc5b7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.669933+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"agent_secret_token": "******"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_single_shard_detail [0.094072s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?shard=foo WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c0f8286-806c-4a4e-88a5-c17997530ede DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.652230+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": "foo", "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.131872s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created 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-368b964e-fced-42b2-9484-c97860edd9e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.670535+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5515aa13-1165-4a9c-9b5c-928d39f05d49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.670535+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "class1", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.052374s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/test.1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56e16faf-2481-4708-a284-468b1ff8a18f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.722028+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "test.1", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.284341s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee3d6329-5e08-448f-ae88-a91a61d1988b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_get_node_shard_field [0.077916s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48ea5f30-b75c-45f8-abec-09198a10ec63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.740957+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": "foo", "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.042657s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=owner WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e287e04-09a4-4e74-918b-5ba57c2a9de7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.101408s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'reservation': 'fake'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb690599-32cb-4978-8672-2b033fb4ac01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('reservation' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.045883s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=protected WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebf634aa-becf-492d-80fc-8ab11c0aacd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.096093s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'adopt'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08947127-682d-42a3-a99b-3e3c12f67918 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_get_node_shard_field_fails_wrong_version [0.097213s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-216c59aa-65e6-43fb-9289-5ad01311f7ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.821330+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.069513s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=retired WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14dd0cb6-bb41-463e-a834-8563d4b6fb4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.080439s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94366621-5ced-4e74-a7f2-6adac262dbe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.070531s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38062871-80ef-494a-9a8e-d813c8c54c86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"storage_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.143585s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'adopt'} 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-7f809441-592c-470d-9f83-1e2bb3363c08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.036986s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aaad2d32-2010-4f47-ac7d-4c33865b8f1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.037158s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-117f198e-dab0-4f70-8dc2-e5151367d0c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"supported_boot_devices": ["pxe"]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.158500s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0681388c-ca84-4079-89c1-b19260f41735 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.038984s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/spam/management/boot_device/supported WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f213b1e1-adf1-4e01-8b75-80f3c9b6146a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"supported_boot_devices": ["pxe"]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPatch.test_node_add_shard [0.252058s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/shard', 'value': 'shard1', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79b23e6a-61b6-42c1-8a87-71dd5755589e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:02.922456+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node-57.1", "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.051485s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e127a514-a835-42cc-bc46-42c8adb70ef6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.056027s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-085f829d-30f0-4c5a-9cc0-e590cfb3e08b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPatch.test_node_add_shard_fail_wrong_version [0.085714s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/shard', 'value': 'shard1', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-552ff709-1a99-42de-8674-dcbe481d804c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.222680s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'adopt'} 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-afae4ab3-9555-4451-aa39-315aaa2f8ce6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.067523s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0aa1f44b-21b2-42a7-baaa-ba6ae71ebfcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.186722s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None} 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_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.106065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.072801s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c13548a-43e8-4c21-9b9a-c57330725c56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.128684s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'adopt'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f648edc-69e1-4507-b171-3a6d14f5a5c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.051962s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c63b03a-a441-4b75-bf6e-c41e47ed491d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.134678s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-061854b6-ea99-4968-95a9-0c3b2b551d26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.047074s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a88dcab4-0462-4206-8c07-8ce678ea4ee6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.135000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.043508s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=allocation_uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4fd92b5-17ba-48bd-ba9f-05c938887e54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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": "8811bf0c-8300-4620-9c94-abda46fe6c4e"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.118983s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.046384s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cfa6b665-eaf2-44c7-9662-e1080219a052 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.504273+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53f92de9-7ea2-4ed4-ac11-56e9af6b4d40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.7 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.504273+00:00", "updated_at": null, "clean_step": {"foo": "bar"}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.062266s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe0f3dd0-9e2f-43db-81b6-7e62bce44bca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.566243+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e60f782-6a42-4c69-8fe8-131ce6781dfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.566243+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "useful piece", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, DEBUG util.py:445: "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.139171s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc84f5d1-3715-4043-bb45-aa53b80ac4e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.071175s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7058a94b-5358-478b-8326-f38f89acd80d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.619806+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10280c9e-c351-48b7-8eeb-09a8063e6c04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.3 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.619806+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"foo": "bar"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.301263s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cab453c-2def-419a-aec0-f747bc3ef915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 WITH {'target': 'rebuild'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d698c1f5-3e03-4d31-bce9-2efdfa4cdd27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 WITH {'target': 'deleted'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc760f9c-38b1-4ae9-8e3d-8bed7e7e7325 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.233087s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2aac935-ef55-49b0-a9aa-c0e38f5a2596 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.257729s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3322e04-224e-4222-b9e3-29cdb4bbbc24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.712771+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0789514-cd70-48dc-b7a8-c6ae1f241f40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.712771+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": "2015-03-18T19:20:00+00:00", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.164362s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test WITH {'foo': 'bar'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-66fe1c99-d9c9-4c93-a61a-ba82153a1e64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.302655s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dbd90934-af17-43ab-8ee3-93120b2e242a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 WITH {'target': 'rebuild'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0440f082-cc62-4619-9cf0-1a9cfdcc4939 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 WITH {'target': 'deleted'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47c82535-c449-4951-9177-b087b2a0b51a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.046788s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38b4f4cb-dee5-409d-8f5b-be555373a2b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.943569+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e74ebe36-69fe-4fdc-87a2-180c574d6887 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.943569+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": DEBUG util.py:445: "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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.044791s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb51c3df-2580-4fc4-acee-a4bf419d8aa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.990108+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a19c326-f011-44da-8c83-21597674438b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.990108+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "fish", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.052082s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9372d141-e872-4181-8d9e-81ce8a371f40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.041148+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-679e3408-2ed2-4ae5-bb08-b639b65d97ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.041148+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.517677s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6fa0e60d-cf71-4fff-8429-7ad8ccbdf5a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:03.695093+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.199231s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/node-109/vendor_passthru/test WITH {'foo': 'bar'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-6a6c223a-c8f6-4c40-9d21-bfff737f7410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.196634s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ede616f-710b-420f-ba5b-21b262170568 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 WITH {'target': 'active'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1811faa-7a53-4787-a2f2-ff988f3a0e23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 WITH {'target': 'active'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6458d28-c3e6-42f0-af4e-b57d9089a204 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.116083s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b4fee42-cdfa-4ebd-8e0a-515d045fa56d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.120360+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80455a93-cf39-468b-a57b-af4b409cc320 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.120360+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "foo", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_older_soft_ver [0.058791s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'bios'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dbc5907-5c8a-4b61-8081-9a9bffed88b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.052646s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-901bd259-f8ea-414a-9632-7b622beed084 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.209913+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c041743-22db-414b-a956-09d558d5bafd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.209913+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": "cinder", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uui DEBUG util.py:445: d": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.043294s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'bios'} 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-3a2fbd99-dd42-4c55-be96-2db2af5fe8ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.059310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ebf56bf-dc40-4064-beeb-e06f806eb3f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.267114+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-baefc6a3-eb05-4eca-8349-d42578dcb704 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.267114+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["CUSTOM_1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c DEBUG util.py:445: 02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.152670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-48503774-29b9-4e63-a136-6d1cedbc453b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.044136s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'unsupported-efi'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d54e4076-bf61-4cf3-b364-326d4668949a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.053545s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dac0ed54-6b56-4b89-811b-a8144543a1d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.326273+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b41393d9-a183-42f4-9ab8-78912e58e299 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.326273+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "b DEBUG util.py:445: ookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.059086s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f3fbb0c-3548-4d18-a361-37c65c6b3d77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.059479s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e358aa3-a14a-4867-a062-4d852f55f3e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "976d0672-0ced-4ede-8d12-2ffeefbf062f", "created_at": "2024-03-19T00:20:04.376047+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f", "rel": "self"}, {"href": "http://localhost/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f/ports", "rel": "self"}, {"href": "http://localhost/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c068566-aef8-4aae-a0e4-d0bfe9f3a808 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "976d0672-0ced-4ede-8d12-2ffeefbf062f", "created_at": "2024-03-19T00:20:04.376047+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f", "rel": "self"}, {"href": "http://localhost/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f/ports", "rel": "self"}, {"href": "http://localhost/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fd1d227-ef05-43bd-aa06-5f0d27fdc161 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "976d0672-0ced-4ede-8d12-2ffeefbf062f", "created_at": "2024-03-19T00:20:04.376047+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f", "rel": "self"}, {"href": "http://localhost/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f/ports", "rel": "self"}, {"href": "http://localhost/nodes/976d0672-0ced-4ede-8d12-2ffeefbf062f/ports", "rel DEBUG util.py:445: ": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.079601s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} 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-3300cbcd-bba6-4ce9-93fd-2de1323317be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.172270s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c79e75d-d574-4ec2-9f3c-f97a2bdfab2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: "foo" DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.434195s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e1bf30d-4296-4a18-b3b5-1c133079e214 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.199055+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.088035s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} 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-80fc237b-c3a2-46ba-82e0-ea173594df14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.233828s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-162aa803-540e-4f4e-b5e4-8542581edb5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0d0a61d4-9722-428a-9c09-2fd3c6e10359", "created_at": "2024-03-19T00:20:04.505867+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://foo/v1/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359", "rel": "self"}, {"href": "http://foo/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359/ports", "rel": "self"}, {"href": "http://foo/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b026160-567c-4159-8394-8b3a1ff27f8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0d0a61d4-9722-428a-9c09-2fd3c6e10359", "created_at": "2024-03-19T00:20:04.505867+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://foo/v1/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359", "rel": "self"}, {"href": "http://foo/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359/ports", "rel": "self"}, {"href": "http://foo/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-416d32af-f40c-478b-bff7-14c24a34ab5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0d0a61d4-9722-428a-9c09-2fd3c6e10359", "created_at": "2024-03-19T00:20:04.505867+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://foo/v1/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359", "rel": "self"}, {"href": "http://foo/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359/ports", "rel": "self"}, {"href": "http://foo/nodes/0d0a61d4-9722-428a-9c09-2fd3c6e10359/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.148574s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-414f2271-4328-4ded-9010-af764bebe199 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.225417s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-823a0b37-fc3c-4f28-9efb-505e1c558f77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"foo": "bar"} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27e07786-2273-4611-b2c9-435a446c8bbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"foo": "bar"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.152865s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?maintenance=true WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f10eca33-3cdf-422c-b947-d552ca53ebfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "0b9bdfea-f8b7-4e96-af24-d10baef84409", "instance_uuid": null, "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/0b9bdfea-f8b7-4e96-af24-d10baef84409", "rel": "self"}, {"href": "http://localhost/nodes/0b9bdfea-f8b7-4e96-af24-d10baef84409", "rel": "bookmark"}]}, {"uuid": "562347be-9beb-4602-a577-4f549d68367d", "instance_uuid": null, "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/562347be-9beb-4602-a577-4f549d68367d", "rel": "self"}, {"href": "http://localhost/nodes/562347be-9beb-4602-a577-4f549d68367d", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?maintenance=false WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd4fa5cb-6137-4ef8-b3a5-d5555fc63979 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "8003086f-37ee-455a-b08c-cf396fca83eb", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/8003086f-37ee-455a-b08c-cf396fca83eb", "rel": "self"}, {"href": "http://localhost/nodes/8003086f-37ee-455a-b08c-cf396fca83eb", "rel": "bookmark"}]}, {"uuid": "9b4b2e0b-b325-4f82-a199-1a3440e8105b", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/9b4b2e0b-b325-4f82-a199-1a3440e8105b", "rel": "self"}, {"href": "http://localhost/nodes/9b4b2e0b-b325-4f82-a199-1a3440e8105b", "rel": "bookmark"}]}, {"uuid": "4d1acb86-4629-4461-8b94-7017ee7b3fe3", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/4d1acb86-4629-4461-8b94-7017ee7b3fe3", "rel": "self"}, {"href": "http://localhost/nodes/4d1acb86-4629-4461-8b94-7017ee7b3fe3", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.139253s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} GOT Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-631d660e-9701-40c8-b553-d64f923e65dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.70 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.123089s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test WITH {'foo': 'bar'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0314a383-186a-4e28-8e5e-4ce61a7e39f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.337575s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f2d8e65-88e4-4a7e-a483-f42f305deb6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:04.658328+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.106930s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-0398b8ca-54f0-4c57-a130-058cdc2ae389 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.185238s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee6004f0-f9b4-4860-ac64-0c57801de6ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.157706s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b7d9398-bee0-420c-9503-dccfa4464deb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.273602s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?associated=true&maintenance=false WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c037218c-45df-4280-9643-7a70a607de9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "042c178e-a59e-408a-bb98-0111018a1f14", "instance_uuid": "e970664f-452a-4e72-9fa5-a0562e75f279", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/042c178e-a59e-408a-bb98-0111018a1f14", "rel": "self"}, {"href": "http://localhost/nodes/042c178e-a59e-408a-bb98-0111018a1f14", "rel": "bookmark"}]}, {"uuid": "3bc58c36-bf2a-467a-943a-2f7325f7e825", "instance_uuid": "6cac8871-9896-4f78-a672-834b35c3a33b", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/3bc58c36-bf2a-467a-943a-2f7325f7e825", "rel": "self"}, {"href": "http://localhost/nodes/3bc58c36-bf2a-467a-943a-2f7325f7e825", "rel": "bookmark"}]}, {"uuid": "030f429f-6629-45a6-9dbc-4abaa2f0b729", "instance_uuid": "badbc0b5-ccab-442c-9b14-8266fb833364", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/030f429f-6629-45a6-9dbc-4abaa2f0b729", "rel": "self"}, {"href": "http://localhost/nodes/030f429f-6629-45a6-9dbc-4abaa2f0b729", "rel": "bookmark"}]}, {"uuid": "54f3f1fc-8096-4e76-927e-c91516b8c7b0", "instance_uuid": "2a8d9847-b8e1-4c94-a4d6-05c88c57dce1", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/54f3f1fc-8096-4e76-927e-c91516b8c7b0", "rel": "self"}, {"href": "http://localhost/nodes/54f3f1fc-8096-4e76-927e-c91516b8c7b0", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?associated=true&maintenance=true WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66afdda0-e613-4b8b-b078-8afb63ef49ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": "e3f13acd-f52b-4bd9-a774-da06405e19aa", "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?associated=true&maintenance=TruE WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afe030dc-4054-455d-a37d-cd527f617f67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": "e3f13acd-f52b-4bd9-a774-da06405e19aa", "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.082984s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?associated=true&maintenance=blah WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca83cb08-8a7f-4425-9c83-316cc3c4d4a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.239091s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test WITH {'foo': 'bar'} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a552d2c4-bb32-489d-a16f-332634a5c332 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.129064s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29dd5533-d3eb-4b0b-a95a-4b2df0ebe1ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "f9a6ea0e-bd04-4791-87b6-727a82d08677", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f9a6ea0e-bd04-4791-87b6-727a82d08677", "rel": "self"}, {"href": "http://localhost/nodes/f9a6ea0e-bd04-4791-87b6-727a82d08677", "rel": "bookmark"}]}, {"uuid": "eb09c97b-f814-4a2e-ba70-b3ff6873b2f4", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/eb09c97b-f814-4a2e-ba70-b3ff6873b2f4", "rel": "self"}, {"href": "http://localhost/nodes/eb09c97b-f814-4a2e-ba70-b3ff6873b2f4", "rel": "bookmark"}]}, {"uuid": "5bdfc299-dfbf-4db2-aaa6-f9c9abb681fa", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5bdfc299-dfbf-4db2-aaa6-f9c9abb681fa", "rel": "self"}, {"href": "http://localhost/nodes/5bdfc299-dfbf-4db2-aaa6-f9c9abb681fa", "rel": "bookmark"}]}, {"uuid": "ee4e7c91-5ff8-49a7-b3fb-bb59bce8534d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/ee4e7c91-5ff8-49a7-b3fb-bb59bce8534d", "rel": "self"}, {"href": "http://localhost/nodes/ee4e7c91-5ff8-49a7-b3fb-bb59bce8534d", "rel": "bookmark"}]}, {"uuid": "b40fc3bf-c5db-4a00-82b5-e73723f0d2d2", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/b40fc3bf-c5db-4a00-82b5-e73723f0d2d2", "rel": "self"}, {"href": "http://localhost/nodes/b40fc3bf-c5db-4a00-82b5-e73723f0d2d2", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.036657s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c1bc604-7d32-49c4-af97-aeb957136c19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.318647s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30694cdf-f19b-4241-baa2-b7434557eada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.175725s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru WITH {'foo': 'bar'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f160e52a-abc6-417e-87c3-735a873f0825 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.114064s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-1ae8f71b-c6a1-44db-be94-9d62f608d7d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.441550s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/2b28fe5c-316d-44d5-afb1-f15c01f80587 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27da0da5-72fa-4b5f-9293-cb8c0a31173c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 2b28fe5c-316d-44d5-afb1-f15c01f80587 can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.165432s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7fd7c3e-7d78-4c34-bc8a-66a8516b8a1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "10c50e3b-7a07-44aa-b9c6-18d0d9f7ec0b", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-0", "links": [{"href": "http://localhost/v1/nodes/10c50e3b-7a07-44aa-b9c6-18d0d9f7ec0b", "rel": "self"}, {"href": "http://localhost/nodes/10c50e3b-7a07-44aa-b9c6-18d0d9f7ec0b", "rel": "bookmark"}]}, {"uuid": "5fef5698-d612-4d1d-95bb-262c2488e43c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-1", "links": [{"href": "http://localhost/v1/nodes/5fef5698-d612-4d1d-95bb-262c2488e43c", "rel": "self"}, {"href": "http://localhost/nodes/5fef5698-d612-4d1d-95bb-262c2488e43c", "rel": "bookmark"}]}, {"uuid": "f3ec0189-8b54-4deb-8d0c-491ca5cf0107", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-2", "links": [{"href": "http://localhost/v1/nodes/f3ec0189-8b54-4deb-8d0c-491ca5cf0107", "rel": "self"}, {"href": "http://localhost/nodes/f3ec0189-8b54-4deb-8d0c-491ca5cf0107", "rel": "bookmark"}]}, {"uuid": "a438eeb0-e27f-4f66-a51d-79836e1c277b", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-3", "links": [{"href": "http://localhost/v1/nodes/a438eeb0-e27f-4f66-a51d-79836e1c277b", "rel": "self"}, {"href": "http://localhost/nodes/a438eeb0-e27f-4f66-a51d-79836e1c277b", "rel": "bookmark"}]}, {"uuid": "270a0372-73dc-4a59-ae2d-87870142ff6d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-4", "links": [{"href": "http://localhost/v1/nodes/270a0372-73dc-4a59-ae2d-87870142ff6d", "rel": "self"}, {"href": "http://localhost/nodes/270a0372-73dc-4a59-ae2d-87870142ff6d", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.141579s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/52:54:00:cf:2d:31 GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6ae5f8e-5c74-4d47-99a3-7d9e3ee42a2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.098621s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-874fdf3e-2ad9-4d69-9daa-83564eb56269 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.154604s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?project=54321 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e9ad46b-c6ff-43b4-9dea-c773f8fff3b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.162674s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f552f0d8-7d61-4987-baa4-52ef73298995 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.188050s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-486913fb-9516-42c8-9964-5f7f665b0236 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.151298s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5edd51c0-2137-4c12-89de-980a42307a5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.328821s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92769926-0dde-4384-bdb5-151cc6a9187a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "64a0d937-741a-4ea2-be81-7eb19efac9ea", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/64a0d937-741a-4ea2-be81-7eb19efac9ea", "rel": "self"}, {"href": "http://localhost/nodes/64a0d937-741a-4ea2-be81-7eb19efac9ea", "rel": "bookmark"}]}, {"uuid": "0cc25f28-627b-424d-af7c-caa44b10a0c0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/0cc25f28-627b-424d-af7c-caa44b10a0c0", "rel": "self"}, {"href": "http://localhost/nodes/0cc25f28-627b-424d-af7c-caa44b10a0c0", "rel": "bookmark"}]}, {"uuid": "93fce9e2-4afc-4ef1-a95c-99ce2f09b0fa", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/93fce9e2-4afc-4ef1-a95c-99ce2f09b0fa", "rel": "self"}, {"href": "http://localhost/nodes/93fce9e2-4afc-4ef1-a95c-99ce2f09b0fa", "rel": "bookmark"}]}, {"uuid": "48cb84ca-bb93-4abe-825b-bc21917ccfa5", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/48cb84ca-bb93-4abe-825b-bc21917ccfa5", "rel": "self"}, {"href": "http://localhost/nodes/48cb84ca-bb93-4abe-825b-bc21917ccfa5", "rel": "bookmark"}]}, {"uuid": "ef6355e8-77ba-4176-b30a-95a2fbde936e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/ef6355e8-77ba-4176-b30a-95a2fbde936e", "rel": "self"}, {"href": "http://localhost/nodes/ef6355e8-77ba-4176-b30a-95a2fbde936e", "rel": "bookmark"}]}, {"uuid": "6e277c66-4d69-4b04-ba8c-69eaf346e533", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/6e277c66-4d69-4b04-ba8c-69eaf346e533", "rel": "self"}, {"href": "http://localhost/nodes/6e277c66-4d69-4b04-ba8c-69eaf346e533", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.506018s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/d4f57920-7ba4-443d-ae1d-bf1478b86dd9 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73fb0f22-3248-412f-a64c-76900225f1a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d4f57920-7ba4-443d-ae1d-bf1478b86dd9", "created_at": "2024-03-19T00:20:05.734071+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "deploy failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "active", "links": [{"href": "http://localhost/v1/nodes/d4f57920-7ba4-443d-ae1d-bf1478b86dd9", "rel": "self"}, {"href": "http://localhost/nodes/d4f57920-7ba4-443d-ae1d-bf1478b86dd9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d4f57920-7ba4-443d-ae1d-bf1478b86dd9/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4f57920-7ba4-443d-ae1d-bf1478b86dd9/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.053477s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': ''}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f7a884a-d2f7-426e-9093-8204722646da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.079497s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': ''}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8ce3401-3878-42e3-81cc-8a62d3c7fcf9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.328960s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/936631ee-1c0a-44fa-ad0c-c21e06286a99 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-879dec2c-051d-432d-bb69-f7932027b1a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.084331s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'i am invalid'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-386e8b3f-a62b-48b9-9029-ca6624abd193 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.321095s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a54fea8-d1d8-4d64-95cf-3055ee258bae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.257445s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'guido-van-rossum'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-742e1c6f-ff85-4e46-91e6-d16791b35e02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "deadbeef-0000-1111-2222-333333333333", "created_at": "2024-03-19T00:20:06.235486+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.274287s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb434e44-b71b-45af-9767-33b05eb7e570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:06.546542+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c55ef42-90ae-41d8-b910-5f0ab57f3f51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.2 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:06.546542+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.267055s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'maintenance'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9aaaf8ba-e8d3-4756-84d3-6437c82b0098 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH [{'path': '/name', 'op': 'add', 'value': 'management'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-663bf194-8be8-4400-8d8b-7959e602d8fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH [{'path': '/name', 'op': 'add', 'value': 'states'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca132cb8-01d0-4f8e-8528-6c60f6d1e4a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH [{'path': '/name', 'op': 'add', 'value': 'vendor_passthru'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80c483fe-febd-4864-936c-15bba4063170 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH [{'path': '/name', 'op': 'add', 'value': 'detail'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c4c2f81-78f2-4529-ad78-c8377329b21b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'validate'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0939387b-34c0-469f-afe1-1d719ada562e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.291129s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/?limit=3&associated=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c4915fe-1979-414e-a372-7617f601b773 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "0bdc56de-9d61-4977-a735-fd03c04d1425", "instance_uuid": "b3decfe7-8202-4abe-b0c5-e508ac3f9d58", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/0bdc56de-9d61-4977-a735-fd03c04d1425", "rel": "self"}, {"href": "http://localhost/nodes/0bdc56de-9d61-4977-a735-fd03c04d1425", "rel": "bookmark"}]}, {"uuid": "96c8e263-791b-4e40-8541-85e963f59330", "instance_uuid": "de1a9d69-742b-42ad-ab4a-2811f2571364", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/96c8e263-791b-4e40-8541-85e963f59330", "rel": "self"}, {"href": "http://localhost/nodes/96c8e263-791b-4e40-8541-85e963f59330", "rel": "bookmark"}]}, {"uuid": "b8e9fe7a-bdf2-4138-982e-8401e2522ea4", "instance_uuid": "ccdeb560-7e98-46ee-bafb-60e7956b0e05", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/b8e9fe7a-bdf2-4138-982e-8401e2522ea4", "rel": "self"}, {"href": "http://localhost/nodes/b8e9fe7a-bdf2-4138-982e-8401e2522ea4", "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=b8e9fe7a-bdf2-4138-982e-8401e2522ea4"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.828563s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-213ecb3f-0f0c-43dd-bc1b-4f3ffadc2d2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:06.709097+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.359060s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c03f2008-fa25-44f2-bace-974dfca922cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.744630s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b89a8f25-f0e5-4f38-afc0-a68f71e19c97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [1.061439s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?limit=3&associated=true WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-229ebdc0-f8fb-49bc-ae40-9c4a04159d61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "5b9a1a29-ec53-46ec-8486-011eb4e9418c", "created_at": "2024-03-19T00:20:07.608273+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": "6dd08ade-6d73-457a-9472-a37a99a1fbd7", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5b9a1a29-ec53-46ec-8486-011eb4e9418c", "rel": "self"}, {"href": "http://localhost/nodes/5b9a1a29-ec53-46ec-8486-011eb4e9418c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5b9a1a29-ec53-46ec-8486-011eb4e9418c/ports", "rel": "self"}, {"href": "http://localhost/nodes/5b9a1a29-ec53-46ec-8486-011eb4e9418c/ports", "rel": "bookmark"}]}, {"uuid": "1c907dde-04b1-4571-b840-6824d42d3375", "created_at": "2024-03-19T00:20:07.610491+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": "073a8cfd-c552-432b-8fc8-16ddfa8a9571", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1c907dde-04b1-4571-b840-6824d42d3375", "rel": "self"}, {"href": "http://localhost/nodes/1c907dde-04b1-4571-b840-6824d42d3375", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1c907dde-04b1-4571-b840-6824d42d3375/ports", "rel": "self"}, {"href": "http://localhost/nodes/1c907dde-04b1-4571-b840-6824d42d3375/ports", "rel": "bookmark"}]}, {"uuid": "53f9af7a-dec4-40b2-9b99-36675522ee31", "created_at": "2024-03-19T00:20:07.612374+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": "bdc53c6d-37dd-4f6d-93d1-1efb0a210699", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/53f9af7a-dec4-40b2-9b99-36675522ee31", "rel": "self"}, {"href": "http://localhost/nodes/53f9af7a-dec4-40b2-9b99-36675522ee31", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/53f9af7a-dec4-40b2-9b99-36675522ee31/ports", "rel": "self"}, {"href": "http://localhost/nodes/53f9af7a-dec4-40b2-9b99-36675522ee31/ports", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=53f9af7a-dec4-40b2-9b99-36675522ee31"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.650776s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a73922c-67b0-4285-a2e3-3a94dea0235c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:07.757619+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.402598s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6d10cb5-9100-4045-9e56-55b65d62b006 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:08.307575+00:00", "updated_at": null, "automated_clean": false, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.557434s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7d54785-fce0-4d13-964f-a1b4b50b80fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:08.425109+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.205883s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d5dfe02-1dbe-4342-9409-8951d81d15bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [3.254212s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} 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-395e5e2d-a2cc-4d5a-a7c4-bb840ed2b50d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [1.002507s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cad44d86-a49c-4a83-9ab1-1228bf32ea70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:08.917128+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab5ff390-a110-434f-bf0c-d7fb5d2c7186 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:08.917128+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "targe DEBUG util.py:445: t_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.864294s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c14b020-9d34-48bf-b208-34bfbc3ebab8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:09.425385+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.589879s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08181d3a-dab0-426a-be45-adb8305ce276 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:09.711284+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.038964s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8a98350-7c17-4da1-b717-a1fb5b82cb33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:09.942253+00:00", "updated_at": null, "automated_clean": true, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [1.062615s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa8ea61d-afc1-4c73-b50e-fb5cb841df92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.290056s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3077e40c-587d-4d0f-be2a-199e3489f441 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:10.101431+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c9f0d13-7401-4b10-bf94-fcf092c7e724 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:10.101431+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nod DEBUG util.py:445: es/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.374966s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abf36f8d-7125-438b-9f19-4ec13ed5984f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "c94f8e51-3ae8-4bb0-8be8-04102206f6d3", "created_at": "2024-03-19T00:20:10.530122+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": "bios", "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3", "rel": "self"}, {"href": "http://localhost/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3/ports", "rel": "self"}, {"href": "http://localhost/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3/states", "rel": "self"}, {"href": "http://localhost/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3/volume", "rel": "self"}, {"href": "http://localhost/nodes/c94f8e51-3ae8-4bb0-8be8-04102206f6d3/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52bdc2d4-0bdc-421c-b2e1-c4bcb23a3076 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "03ac397e-67ff-4574-8944-b6adad37ef7c", "created_at": "2024-03-19T00:20:10.611204+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": "uefi", "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {} DEBUG util.py:445: , "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c", "rel": "self"}, {"href": "http://localhost/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c/ports", "rel": "self"}, {"href": "http://localhost/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c/states", "rel": "self"}, {"href": "http://localhost/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c/volume", "rel": "self"}, {"href": "http://localhost/nodes/03ac397e-67ff-4574-8944-b6adad37ef7c/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.668761s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'manageable'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69776ebf-f20e-4180-b5c9-91abb6aa273c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [1.065224s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/mode', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0692b259-c7d1-43c0-bf50-c193860bd8be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.121592s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'inspect'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1751ca9-a43c-46e7-8857-a563bd6b84a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [3.605727s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/e6853b75-ec22-4296-9a68-44d2b8319e8b WITH [{'path': '/allocation_uuid', 'op': 'replace', 'value': 'f57f63c8-3af8-4a0e-a9c1-043007faf3ae'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01f426fb-e251-4991-aac0-010476cc5e2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.065204s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/757aaa13-3ace-4336-9eb1-43e5bfc3ed09 WITH [{'path': '/allocation_uuid', 'op': 'replace', 'value': '85c4129f-f572-47d4-9ca5-d1f909abb74f'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02def39a-0fc5-4f7b-9c35-1a487a51227f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.453195s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo1', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8f5d384-ba55-46db-8591-a72b130edc9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:11.091439+00:00", "updated_at": "2024-03-19T00:20:11.131280+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-955b5856-9dcb-482f-8ccf-017776778682 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:11.091439+00:00", "updated_at": "2024-03-19T00:20:11.131280+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.057538s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/e8a2f976-84ed-4f96-b09d-8d87b48e9915 WITH [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69db85c4-7172-47fc-834a-c059da83092c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.056621s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_id', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47d61b43-766a-4964-8509-07ae99d7d32b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.066072s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/81000216-d9b9-4b8c-a76f-f84acaa50603 WITH [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ac2c6b9-7a1c-4b8c-bc6e-64c93e4a38c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.068536s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95e0bf87-f642-4115-8e05-7e53dde12154 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.048319s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa60115e-196c-4f06-80f4-2377d96f5f3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.549263s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'inspect'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9fd3d010-bd81-48a2-b5c5-95db42645362 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.063195s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aceba458-26f1-41ef-9132-735f37de24db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.068053s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee1b84c0-6091-4e57-a0f3-449ecfd5ba53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:11.462196+00:00", "updated_at": "2024-03-19T00:20:11.470392+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.069115s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f8ba614-e4e8-43c2-be49-97bbabadc8a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.321085s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/c9f891d4-aa7d-49af-8825-cbd8c8aa62d1 WITH [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6420eb87-6076-4283-946b-5d66fee07fff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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_portgroup.TestPatch.test_replace_node_uuid [0.068181s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a0027cd-489c-45af-b925-ae0affb4b8a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:11.610198+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.095163s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/8c0acbc1-15ca-4ffc-a44d-037e1311f5be WITH [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09e87a93-8b5b-404b-b99f-925bc5310719 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.318927s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'manage'} 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-19be5436-82e5-45e7-818f-c3f597a2487e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.100577s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81576a96-1df2-4117-a766-ccf23cdc0227 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.101251s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'manage'} 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-9cc77d90-259f-4bff-9081-5a333580b5ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [1.293831s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0ebf151-e339-4844-8af3-834d50f2e4d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:11.140236+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0985137c-d342-401f-950a-24f162057575 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:11.140236+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, DEBUG util.py:445: "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.217265s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d90f1f4-25ff-4e88-a788-4424e85ea5cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:11.851387+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.204724s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power off'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-945ca71e-70cd-47a7-bfaa-ab7bb4128158 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 WITH {'target': 'power off'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0000482-8be4-43b7-9d68-6f9f3a503c30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.052926s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'not-supported'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0cf9870-9e12-4015-b62c-e3585304a424 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.109860s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/states/power WITH {'target': 'power on'} GOT Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/node-39/states DEBUG util.py:445: Openstack-Request-Id: req-a6eaf2dc-ecbf-4ce4-b7ae-46e6cd0bcbc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.061446s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ad31db8-bbe7-4fb7-b5fa-0d083aa1210e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestListNodes.test_node_boot_mode_null_field [0.339891s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c400e36-9787-4606-ae94-b966e87bc3eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:12.204354+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.064871s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 0} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3182b30c-6c03-4e29-ba29-93a7e5515b90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.082634s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?instance_uuid=b9b71dc7-937b-47ba-aef7-cdacee57d9eb WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e53cf4ec-1e7d-43d7-985a-0c5ca61ee268 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "24305fe9-946c-41eb-855a-17910157bc88", "instance_uuid": "b9b71dc7-937b-47ba-aef7-cdacee57d9eb", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/24305fe9-946c-41eb-855a-17910157bc88", "rel": "self"}, {"href": "http://localhost/nodes/24305fe9-946c-41eb-855a-17910157bc88", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.136446s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 0} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f40f1a8f-608d-4e51-8a92-d8802f1ec101 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.090911s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?instance_uuid=fake WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-919cf14b-8c4c-42c6-a934-ba30cd2e092d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.089933s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 0} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70fc2ecf-d27f-4160-8825-818e2f20df60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.102236s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?instance_uuid=e89e70e8-3431-4304-a46a-10f4932b2730 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd33d29c-7938-4e15-bb69-89229c67ddf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.662897s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efc0e0ec-37e5-4ce1-8e11-9f9b618c4492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [1.098878s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f58b66cd-e337-4fe3-b75a-12bab7cf4748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:11.769487+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.254964s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-affa7bc0-ed3c-44d6-ae65-b6a6274749ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:12.614143+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd061803-b6b4-40f7-8d3e-563333ff3386 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:12.614143+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": DEBUG util.py:445: null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.272727s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} 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-b479f81f-bc2e-4dd0-8a05-5382f34241fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.072988s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} 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-a65af54c-ab0d-42f2-b9b6-5f20b90eafbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.046760s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} 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-436501f1-5151-46f3-85fe-b69ce6de6014 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.149090s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-686187a9-e17d-4da8-9e57-fe9c26b4b286 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:12.865676+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb199efb-2fa5-4ecd-b2f8-aaeefaf597d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:12.865676+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_inter DEBUG util.py:445: face": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} 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.045946s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 2} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d2e167d-42da-419b-94f0-72889ea2012c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.047199s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 2} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8192905f-d1ad-4d72-b6f1-230e6286dc95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.044681s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 2} 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-c279e849-5831-48b9-a62d-b6e64af8099f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.041150s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 0} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13e71ce3-4166-4178-8556-470defad0739 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.165794s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb3bb7eb-fda3-42b6-976b-05179615a9fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.43 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:13.017212+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f1d2f06-54e2-4950-a7ee-789dd4785ae3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:13.017212+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": DEBUG util.py:445: [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.049656s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 0} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b6260ed-60bb-49dc-9ae3-8f628f98678c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.633553s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/52:54:00:cf:2d:31 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.275030s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 0} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a49a73c4-6cad-4d41-8a1e-71bbfa590352 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.304396s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7716f4d2-52ea-4cec-b3fc-058bbf2e108f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:13.195359+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} 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.059231s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f5e98ff-5506-42e0-a86a-ab220a54cef8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.082928s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6594826c-d6ba-49df-8938-c232f6edf16d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.100220s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off'} 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-61e6e89a-f403-4981-80b2-77a8f5fb175e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [1.045326s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'replace', 'value': 'guido-van-rossum'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a568b484-db3b-487c-9563-bb63540bb602 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:13.002819+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.610407s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3b5f35a-6a51-4f1e-8288-57031c29d780 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:13.490944+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.478901s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae33fb9f-d529-460f-a22a-d79df3ed49d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:13.619760+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9150941-aab8-4ddb-a994-0d4cd75fe9df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:13.619760+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "lin DEBUG util.py:445: ks": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.279156s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 2} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13197e12-eb1f-4cf6-9cf9-f7065f235b69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.253948s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.204789s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 2} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e81da20b-4b14-4488-919b-fc4c7d00f1d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.351108s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f2e01f8-3299-49bf-b79a-f7f99026bc43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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-c02d7f33c123", "created_at": "2024-03-19T00:20:14.118880+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e25a191c-17d8-41c4-ab26-b5ec3556706c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:14.118880+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspect wait", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2 DEBUG util.py:445: e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.584660s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39 WITH [{'path': '/description', 'value': 'foo', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f8edd57-01a1-49d5-9aed-959e6d82ae74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "350fdfcb-b9da-4791-a69e-626b1c1cde39", "created_at": "2024-03-19T00:20:14.105241+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39", "rel": "self"}, {"href": "http://localhost/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39/ports", "rel": "self"}, {"href": "http://localhost/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39/states", "rel": "self"}, {"href": "http://localhost/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39/volume", "rel": "self"}, {"href": "http://localhost/nodes/350fdfcb-b9da-4791-a69e-626b1c1cde39/volume", "rel": "bookmark"}]} 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.278636s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 2} 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-e9e85a0c-43a6-4844-96d7-177d2d931da5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.313163s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e197918-96c1-4cea-8d81-7f2aac331196 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:14.394430+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.222461s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'provide'} 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-24c740bd-8c18-4be6-8b31-7b3226310ac2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.177390s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77a16e93-ce63-4463-8fee-6453b3e5725d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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-c02d7f33c123", "created_at": "2024-03-19T00:20:14.686840+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78a17290-db72-4219-ac37-c00464a66014 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:14.686840+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x DEBUG util.py:445: 86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.340812s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60ed5097-3a0f-43da-a703-55c79bebef35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2560ad1e-13e1-4c9c-865a-0597ce70dfb9", "created_at": "2024-03-19T00:20:14.551382+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9", "rel": "self"}, {"href": "http://localhost/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9/ports", "rel": "self"}, {"href": "http://localhost/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9/states", "rel": "self"}, {"href": "http://localhost/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9/volume", "rel": "self"}, {"href": "http://localhost/nodes/2560ad1e-13e1-4c9c-865a-0597ce70dfb9/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.107295s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52ff9435-338f-4f68-909f-1078779d8f1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:14.837274+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.193519s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fea13ff-274c-4a61-896f-8b7ef456826f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:14.989025+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "some-lucky-project", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.323526s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6201757b-10d1-4b6f-9747-e4204453c7e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.405425s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1af0afc2-0efd-4b2f-b179-3f0f1a669a5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "479525fa-76ab-42e2-a78e-cc4d83ebb5ba", "created_at": "2024-03-19T00:20:14.881143+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba", "rel": "self"}, {"href": "http://localhost/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba/ports", "rel": "self"}, {"href": "http://localhost/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba/states", "rel": "self"}, {"href": "http://localhost/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba/volume", "rel": "self"}, {"href": "http://localhost/nodes/479525fa-76ab-42e2-a78e-cc4d83ebb5ba/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.157974s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f02fcc3-b8ab-44d4-bfe2-c7139fc407ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "37a0869a-60b1-4a82-9c16-70d41717f5e4", "created_at": "2024-03-19T00:20:15.171880+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {"links": [{"id": "interface2", "type": "vif", "ethernet_mac_address": "a0:36:9f:2c:e8:70", "vif_id": "e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d", "mtu": 1500}, {"id": "interface0", "type": "phy", "ethernet_mac_address": "a0:36:9f:2c:e8:80", "mtu": 9000}, {"id": "interface1", "type": "phy", "ethernet_mac_address": "a0:36:9f:2c:e8:81", "mtu": 9000}, {"id": "bond0", "type": "bond", "bond_links": ["interface0", "interface1"], "ethernet_mac_address": "a0:36:9f:2c:e8:82", "bond_mode": "802.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": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4", "rel": "self"}, {"href": "http://localhost/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4/ports", "rel": "self"}, {"href": "http://localhost/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4/states", "rel": "self"}, {"href DEBUG util.py:445: ": "http://localhost/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4/volume", "rel": "self"}, {"href": "http://localhost/nodes/37a0869a-60b1-4a82-9c16-70d41717f5e4/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.055591s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cda3c64a-4c85-40f6-b51d-6ced55bc2cd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:15.239984+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abd88bd8-6349-4fa7-9de4-d4172145de09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:15.239984+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": DEBUG util.py:445: null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.048169s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8fe03e75-010a-4ffc-bb34-5f9cb649defc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:15.290674+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7b474f8-6990-4078-8270-f6f7b6b54fac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:15.290674+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_upd DEBUG util.py:445: ated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.220368s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1e65dc51-b324-4022-a93b-c3a839439f93 WITH [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce2be39a-0e84-4e80-987c-d92db31924d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1e65dc51-b324-4022-a93b-c3a839439f93", "created_at": "2024-03-19T00:20:15.271793+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1e65dc51-b324-4022-a93b-c3a839439f93", "rel": "self"}, {"href": "http://localhost/nodes/1e65dc51-b324-4022-a93b-c3a839439f93", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1e65dc51-b324-4022-a93b-c3a839439f93/ports", "rel": "self"}, {"href": "http://localhost/nodes/1e65dc51-b324-4022-a93b-c3a839439f93/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1e65dc51-b324-4022-a93b-c3a839439f93/states", "rel": "self"}, {"href": "http://localhost/nodes/1e65dc51-b324-4022-a93b-c3a839439f93/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1e65dc51-b324-4022-a93b-c3a839439f93/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1e65dc51-b324-4022-a93b-c3a839439f93/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1e65dc51-b324-4022-a93b-c3a839439f93/volume", "rel": "self"}, {"href": "http://localhost/nodes/1e65dc51-b324-4022-a93b-c3a839439f93/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.342375s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-642bdeba-f185-4682-9c71-70b16ca24d4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [1.315491s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/pg.1 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11af5dc8-b47b-4edc-ba0f-f6fcbc3325bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:14.299784+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.353610s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da5d765d-00f1-4587-b573-3f00baff5019 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:15.649726+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.316285s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25 WITH [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd11569c-7441-44b0-8d7d-5f89da252e9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d8ca7fc3-c7a6-4626-815d-67c9da844a25", "created_at": "2024-03-19T00:20:15.534742+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25", "rel": "self"}, {"href": "http://localhost/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25/ports", "rel": "self"}, {"href": "http://localhost/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25/states", "rel": "self"}, {"href": "http://localhost/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25/volume", "rel": "self"}, {"href": "http://localhost/nodes/d8ca7fc3-c7a6-4626-815d-67c9da844a25/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.049498s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3f25d15-5f0f-4259-8760-c8f3e4185930 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:15.699305+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "akindofmagic", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.316298s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/states/provision WITH {'target': 'active'} GOT Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/node-39/states DEBUG util.py:445: Openstack-Request-Id: req-932b90c6-6b3b-4420-b6a4-86995b242e25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.089279s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fdd9fb4-22ed-465f-ab5e-401e5506e676 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93", "created_at": "2024-03-19T00:20:15.744741+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": true, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93", "rel": "self"}, {"href": "http://localhost/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93/ports", "rel": "self"}, {"href": "http://localhost/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93/states", "rel": "self"}, {"href": "http://localhost/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93/volume", "rel": "self"}, {"href": "http://localhost/nodes/8fd3ac8b-857b-4ddb-bc04-2c5d4c297d93/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/8406c533-7794-4c18-9fa9-b846fe606e92 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e69c794-612b-497d-95d8-28eded712554 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "8406c533-7794-4c18-9fa9-b846fe606e92", "created_at": "2024-03-19T00:20:15.764210+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": DEBUG util.py:445: 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/8406c533-7794-4c18-9fa9-b846fe606e92", "rel": "self"}, {"href": "http://localhost/nodes/8406c533-7794-4c18-9fa9-b846fe606e92", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8406c533-7794-4c18-9fa9-b846fe606e92/ports", "rel": "self"}, {"href": "http://localhost/nodes/8406c533-7794-4c18-9fa9-b846fe606e92/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8406c533-7794-4c18-9fa9-b846fe606e92/states", "rel": "self"}, {"href": "http://localhost/nodes/8406c533-7794-4c18-9fa9-b846fe606e92/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8406c533-7794-4c18-9fa9-b846fe606e92/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8406c533-7794-4c18-9fa9-b846fe606e92/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8406c533-7794-4c18-9fa9-b846fe606e92/volume", "rel": "self"}, {"href": "http://localhost/nodes/8406c533-7794-4c18-9fa9-b846fe606e92/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.460274s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/pg.1.json WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f91936f-044d-4604-8156-c12078f3c5a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:15.666561+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.222711s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/45562268-a785-401c-bc6a-756d818f143c WITH [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ebd5526-fe78-4778-af54-3b4da7110a85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "45562268-a785-401c-bc6a-756d818f143c", "created_at": "2024-03-19T00:20:15.800307+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/45562268-a785-401c-bc6a-756d818f143c", "rel": "self"}, {"href": "http://localhost/nodes/45562268-a785-401c-bc6a-756d818f143c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/45562268-a785-401c-bc6a-756d818f143c/ports", "rel": "self"}, {"href": "http://localhost/nodes/45562268-a785-401c-bc6a-756d818f143c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/45562268-a785-401c-bc6a-756d818f143c/states", "rel": "self"}, {"href": "http://localhost/nodes/45562268-a785-401c-bc6a-756d818f143c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/45562268-a785-401c-bc6a-756d818f143c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/45562268-a785-401c-bc6a-756d818f143c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/45562268-a785-401c-bc6a-756d818f143c/volume", "rel": "self"}, {"href": "http://localhost/nodes/45562268-a785-401c-bc6a-756d818f143c/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.206081s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72c1fc40-a2c7-482f-aec4-5ef4124eadaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:15.927362+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-383a430e-80fe-4d4f-b8cc-84b431da2b69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:15.927362+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reserv DEBUG util.py:445: ation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.306988s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/states/provision WITH {'target': 'active'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-549e02b3-2e3f-4ee8-bbbc-2bd9c0a3fc56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.192788s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36 WITH [{'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a7a6e80-7573-4eba-9073-94e8b1882807 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "eb549f33-9b6b-4436-9594-248f2c9b8d36", "created_at": "2024-03-19T00:20:15.982175+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36", "rel": "self"}, {"href": "http://localhost/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36/states", "rel": "self"}, {"href": "http://localhost/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb549f33-9b6b-4436-9594-248f2c9b8d36/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.212005s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29ea290a-2c21-4653-8d4f-2c9fa59509e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.151555+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f2fe798-8b15-4e8a-a6e1-3f1960ffd92c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.151555+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reserv DEBUG util.py:445: ation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.185648s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5 WITH [] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c8fb7e7-f1c1-4b08-8ccc-7fd96014a912 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a1731125-3e44-4146-b1df-4f4baf2d85b5", "created_at": "2024-03-19T00:20:16.225194+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5", "rel": "self"}, {"href": "http://localhost/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5/ports", "rel": "self"}, {"href": "http://localhost/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5/states", "rel": "self"}, {"href": "http://localhost/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5/volume", "rel": "self"}, {"href": "http://localhost/nodes/a1731125-3e44-4146-b1df-4f4baf2d85b5/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.091878s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/9bb50f13-0b8d-4ade-ad2d-d91fefdef9ff WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-404290e8-eaef-488b-ade7-2ac7618419b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.194425s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4ea0e2f-01e4-4286-a317-76b2a08f5501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.403559+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": true, "protected_reason": "reason!", "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.111191s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d77bb93-ff67-427f-b369-100c398f1f34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.085857s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc8fe41f-dd86-48c4-b836-7a9f1a760c71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da", "created_at": "2024-03-19T00:20:16.466765+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": true, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da", "rel": "self"}, {"href": "http://localhost/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da/ports", "rel": "self"}, {"href": "http://localhost/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da/states", "rel": "self"}, {"href": "http://localhost/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da/volume", "rel": "self"}, {"href": "http://localhost/nodes/bf9b7377-8f3d-4ecb-aa4f-4bf9677b03da/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/e40282dc-7579-497d-930b-389d099d53e3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1dfa4d21-12ba-4271-afb6-a8807bd3865d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "e40282dc-7579-497d-930b-389d099d53e3", "created_at": "2024-03-19T00:20:16.481498+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": DEBUG util.py:445: "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/e40282dc-7579-497d-930b-389d099d53e3", "rel": "self"}, {"href": "http://localhost/nodes/e40282dc-7579-497d-930b-389d099d53e3", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e40282dc-7579-497d-930b-389d099d53e3/ports", "rel": "self"}, {"href": "http://localhost/nodes/e40282dc-7579-497d-930b-389d099d53e3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e40282dc-7579-497d-930b-389d099d53e3/states", "rel": "self"}, {"href": "http://localhost/nodes/e40282dc-7579-497d-930b-389d099d53e3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e40282dc-7579-497d-930b-389d099d53e3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e40282dc-7579-497d-930b-389d099d53e3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e40282dc-7579-497d-930b-389d099d53e3/volume", "rel": "self"}, {"href": "http://localhost/nodes/e40282dc-7579-497d-930b-389d099d53e3/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_deploy [0.474181s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} 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-e2f13b3a-88a5-4fd3-9336-9f3128246b03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.651400s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c7f9257-a166-4795-9c45-100b95be3129 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:16.158747+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.065224s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-703d97c6-d4fe-40d9-89d0-04f0ec30a02d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_ident\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.072977s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0e1d261-5e23-496c-9b45-7fe90989e671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.556135+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8f711ad-2f39-4de1-9db7-41259ce391c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.556135+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected DEBUG util.py:445: ": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.058685s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc0f24e3-5ad1-4496-a04c-6559daf97e2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.611352+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e2dabd7-87bc-49a7-b089-df7f533c435a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.611352+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected DEBUG util.py:445: ": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.081659s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52c36a2a-1e1a-430f-9b2e-70a5b76c1a31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.688182+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": true, "retired_reason": "warranty expired", "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.173452s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/driver', 'value': 'foo', 'op': 'add'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-491ba770-39ca-42d9-9a85-7a85d86f54be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot [0.100818s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc6b46b1-7b93-4df5-86c4-b8c4c5b4f4da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "9ae07376-e2a4-463d-9da4-4b8ccb0c6676", "created_at": "2024-03-19T00:20:16.769407+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": "uefi", "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": true, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676", "rel": "self"}, {"href": "http://localhost/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676/ports", "rel": "self"}, {"href": "http://localhost/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676/states", "rel": "self"}, {"href": "http://localhost/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676/volume", "rel": "self"}, {"href": "http://localhost/nodes/9ae07376-e2a4-463d-9da4-4b8ccb0c6676/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98fe530e-726b-4792-b43f-17cd667dfcfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "9e5d65b5-73e3-4f13-adb3-172e8fc05862", "created_at": "2024-03-19T00:20:16.810299+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": "uefi", "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {} DEBUG util.py:445: , "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": false, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862", "rel": "self"}, {"href": "http://localhost/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862/ports", "rel": "self"}, {"href": "http://localhost/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862/states", "rel": "self"}, {"href": "http://localhost/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862/volume", "rel": "self"}, {"href": "http://localhost/nodes/9e5d65b5-73e3-4f13-adb3-172e8fc05862/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot_hidden_in_lower_version [0.074460s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85bf5bd2-3259-4792-b422-f990739e8fa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.871844+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dea9419-0ee1-4b7e-b80a-482e4bf48ef4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:16.871844+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, DEBUG util.py:445: "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.156531s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'add', 'value': 'Windows ME'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee2d1fbf-5082-4e17-9b4a-c66818699830 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.431236s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'not-supported'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7924e8a-0d76-42cb-b10b-242e0b4a36f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.086663s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4cfca788-42ce-4969-992a-6ed2a13d4a56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.106456s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'add', 'value': 'node-0'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2166abd4-8a0d-4f7d-8729-e3f862718d3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.487632s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2432def-5a4a-400b-b879-129702be4366 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode [0.116822s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/ba1165bf-acab-46bf-a656-6d5dfb906d76/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f65b00e9-8767-4d9f-a44b-f0df69024bfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": "bios", "secure_boot": null} DEBUG util.py:445: GET /v1/nodes/557f0f7d-3c3a-422b-803b-49b4da714631/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70a3b137-d21a-48ae-98ff-72c2239f83be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": "uefi", "secure_boot": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.180981s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd86e0d4-bb37-4e9d-b3c7-322f52dd9487 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.155673s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/pg.1 WITH [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2613b4d-897d-4cc3-8307-90908df54605 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.272356s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c16f1e9a-68e6-4095-bd1f-2f590a2ba79f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.060821s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e733f72-8cc3-494a-baed-40121a9ede01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.194772s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1082f0de-7a76-4de1-99d3-e470e03afa8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb420c64-2e5b-4275-bd81-94717351bc12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.076373s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38a510e5-f7ed-426e-ba66-183a1382e540 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.112105s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/eggs/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb27e3f8-55cb-4825-a82d-672d3b65873e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.196384s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6859bd00-fc54-46d6-8063-2c24e916ab86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.171126s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_id', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f22eede-70d4-4a9d-9a6c-3124f2a8b2d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.110212s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': ' '} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5391e6ca-2f64-4cd3-8899-15d1e5e61214 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.151379s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} 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-0e6c29e5-3a53-4d4b-b864-e7b152d00beb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'rescue', 'rescue_password': 'password'} 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-6caef6cd-3303-49c4-91fa-bfc5362d99fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'rescue', 'rescue_password': 'password'} 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-976e1aac-4bcf-4c73-a405-e87bf74e3f78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'rescue', 'rescue_password': 'password'} 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-c72728b1-8196-47dc-a9c1-13714952a74e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.291686s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84e72059-2171-4b15-afe3-123e5eabc326 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:17.588979+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-389102d5-fde0-4b65-b89a-5f6128e591ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:17.588979+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.190081s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e6ecc3f-1a16-4290-9726-ceb7c266e8cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:17.580971+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.512466s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/ff5e6fe6-f50c-47e9-95ef-5b6e4c52f650 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af4f2c62-150f-4b73-b821-d11465d8aa97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup ff5e6fe6-f50c-47e9-95ef-5b6e4c52f650 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.097374s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'op': 'remove'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86bfbbef-0518-4d89-bbcb-7b13213e0fbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.057376s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/last_error', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6774c86d-ae8b-49af-8b99-e8225a29e248 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.168821s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4032ee0f-19ba-41c9-b4cc-9ef7c29cda13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32066d8d-9221-4fb4-a941-2d6f0a2a6d55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d960bc2-f0b6-40f0-929e-afda95d3cf91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56e9e0b1-a99a-4a4c-ad1f-85d18389a340 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.168636s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c202ff8-6ff8-4ae3-88b7-d8c9dbde8d84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.067623s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8cc9995e-e476-4d79-b9a1-9f454a7daac7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.112197s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/f0f2d3ab-d01e-46c8-a62e-d4a10f6ae35b/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba5777df-1130-432c-8f0a-2b38ee5a15eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": "uefi", "secure_boot": true} DEBUG util.py:445: GET /v1/nodes/a9ea8427-195f-4f41-a285-b02c7715bd6f/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-691bc1a0-8b36-4bf3-8a7e-3ddb42876e5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": "uefi", "secure_boot": false} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.094159s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'rescue_password': 'password'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6a3b531-ad56-4c99-8355-f5841795f9c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.301545s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c73b0947-4f1b-4e0b-b4a0-c758ced0d826 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:17.820643+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.182472s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/driver', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0129e0fc-86b2-4411-9e97-a0204158446e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'driver' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.098965s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f19be56-3e6a-45b6-b392-c1ed5b4c91bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97f4b605-afdf-4ad6-804a-1166ad5c835a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.111258s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} 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-b9c2cca1-2109-4bf3-81ca-cef5841a7319 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'unrescue'} 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-da9853ef-6bfb-4a13-a797-9ca743461246 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'unrescue'} 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-49cc1b64-7df8-468e-aecf-f28ec4130e10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.098979s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb359ffa-e426-48a1-a2da-fa9a31f0748d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.090288s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1cdf2e3d-7147-4485-8245-775749d98c21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:18.125540+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ac054c8-5116-48d1-a157-70c851c74e59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "2024-03-19T00:20:18.125540+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", " DEBUG util.py:445: rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.091144s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5e3afee-dd94-4f44-8175-545abcee35fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:18.240523+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73afb97e-8eba-42f8-b5e6-88c40147aa5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:18.240523+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes DEBUG util.py:445: /1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.139287s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b22cfbb-fd63-42b8-93c2-a058c3359e5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:18.181482+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.050196s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36ac00b0-79ba-48a1-b785-94529683b571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.058761s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b2ef566-d416-4a3f-b2b6-81c999c5b17f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.071049s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?fields=uuid,provision_state,maintenance,instance_uuid,last_error WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd8a0fa1-6639-4ea5-997f-a88a9652336e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "provision_state": "available", "maintenance": false, "instance_uuid": null, "last_error": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.375917s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/internal_info', 'value': False, 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90b05038-7279-4469-b68f-93a549e71eca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.078729s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7943c0d4-95f0-4613-a527-1f6ac3119495 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.308019s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9e3209f-8705-49ba-8f3b-dd4093f1ea6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'unrescue'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcf1c34b-dde5-41f8-bece-7525aef5dff2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'unrescue'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af214106-86af-405c-a9fa-75284e8515bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'unrescue'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9e17f23-3601-4015-9ad0-caeb08be95f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'target': 'unrescue'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d7769f5-d519-4a2c-8617-3cecd4adbcfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.091372s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8663fb3-0896-4ead-8f8e-790dd534a5f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"portgroups": [{"uuid": "698ecceb-f26e-40ba-8274-e57d5d151c12", "address": "52:54:00:cf:2d:30", "name": "pg-0", "links": [{"href": "http://localhost/v1/portgroups/698ecceb-f26e-40ba-8274-e57d5d151c12", "rel": "self"}, {"href": "http://localhost/portgroups/698ecceb-f26e-40ba-8274-e57d5d151c12", "rel": "bookmark"}]}, {"uuid": "ec1d6a34-067b-4c4a-b8bd-1c706cade38a", "address": "52:54:00:cf:2d:31", "name": "pg-1", "links": [{"href": "http://localhost/v1/portgroups/ec1d6a34-067b-4c4a-b8bd-1c706cade38a", "rel": "self"}, {"href": "http://localhost/portgroups/ec1d6a34-067b-4c4a-b8bd-1c706cade38a", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d17b9bf-120c-444f-a62a-0c610439c61d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"portgroups": [{"uuid": "698ecceb-f26e-40ba-8274-e57d5d151c12", "address": "52:54:00:cf:2d:30", "name": "pg-0", "links": [{"href": "http://localhost/v1/portgroups/698ecceb-f26e-40ba-8274-e57d5d151c12", "rel": "self"}, {"href": "http://localhost/portgroups/698ecceb-f26e-40ba-8274-e57d5d151c12", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=698ecceb-f26e-40ba-8274-e57d5d151c12"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.045648s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'provide', 'clean_steps': 'foo'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d9f0a8c-5609-465d-8192-c3642b631186 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.047162s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e2c201e-df67-4078-9a39-6dd02c0edb23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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-c02d7f33c123", "created_at": "2024-03-19T00:20:18.515092+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.131356s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e64bc1a-818a-4e46-b459-7e894c262838 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:18.461761+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.061394s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd862d4f-08b1-482d-b3f1-efdc8d8e4b8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "2024-03-19T00:20:18.564110+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.103327s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deleted', 'configdrive': 'foo'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35be5fdc-7ec6-4b3c-bd34-84782553d3e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.054336s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/console_enabled', 'op': 'replace', 'value': True}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-581a7871-c16b-4961-a669-22487f6f4d5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.074727s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} 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-f31e9476-fef4-46d0-80d2-d3606c446121 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.107907s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/power_state', 'op': 'replace', 'value': 'fake-state'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c086721-a084-44e3-9f5c-13643e99b4bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.133129s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.121237s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} 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-84c87f08-878a-4edd-95a2-6b71717d4b5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.137197s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/maintenance', 'op': 'replace', 'value': True}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4216da08-1d9e-4ebb-bff5-fe903efada08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:18.746607+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.089590s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': '\nw7FJYV8ywqx+wqnCpwPCoXHDisO6HMO2w4nDsBBJccOvXsKUMsO9OcOPCQLCnMKoPSFLwp\nDDhj7Ck8KqwprDpcKWw6XChsOMw5lSEcKUZcO0PUJiWcK4wq0owr4ye8Ozw67ClzXDmsO7\nUxvCpjnCkFQgw73Ch8Kaw5HCicKlXMOvUnDDvg5uwoFkwqDCl8KAEWwCbUQvw7I5JcKUw7\nVbKl3Di8O4LMKuwrHChMOBw5plaVJKci04w7fCgcOgVhkwwoLCgilxwqTCpDNCGzdNw5N6\nwpgAw6jDn8ODLBBlMGcawrEZwr3DiVPDtMKTwpcxwrpBwrrDtcOEw5YTw7MMwqnCsMKqwp\nPCkMK1wpTDssKfwrDCscOsEEDDo8OAw5DCqsKKGBRqwqPDqx7Cg8KkDcOkwoIuwo/CgcK0\nZcKNf3N7wqIYQcKgQDnCq8KFw6DCvMOwWAHChMO3w5xWb8O3wq7Dn8K4eXgWw742woUqw5\n/DvcK+ScKcX8KzwprCuD3DgcOsC8Oqwp0CwqB8TsOIHsKVwozCv8O+w4LCmE9GCMORw63D\nicOQw4ZFasOzw4Uvw7NSw6Qbw77DkBgkwo4COcOzOWLClRNQXcOHwojCrsOdHMKIw6nDuM\nORHMKeXMO8fcK0By7CiMKwHSXCoEQgfQhWwpMdSsO8LgHCjh87DQc= '} GOT Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-f9b8c4ea-0512-4259-a150-156cdd65c7ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.483835s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}, {'path': '/properties/bond_param', 'value': '100', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd06c6ac-3da0-464a-8153-b5af85df47df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:18.700849+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "802.3ad", "name": "pg.1", "properties": {"bond_param": "100"}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.183504s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aab13ab8-378d-4608-977b-75c5805b2464 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "aa663ed3-b491-4306-953b-86561fb6fd99", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/aa663ed3-b491-4306-953b-86561fb6fd99", "rel": "self"}, {"href": "http://localhost/ports/aa663ed3-b491-4306-953b-86561fb6fd99", "rel": "bookmark"}]}, {"uuid": "aa7d98e9-3101-4867-9dce-f6c8e59754b6", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/aa7d98e9-3101-4867-9dce-f6c8e59754b6", "rel": "self"}, {"href": "http://localhost/ports/aa7d98e9-3101-4867-9dce-f6c8e59754b6", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6115f59-7b26-40e3-9e6e-3efc43413d56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "aa663ed3-b491-4306-953b-86561fb6fd99", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/aa663ed3-b491-4306-953b-86561fb6fd99", "rel": "self"}, {"href": "http://localhost/ports/aa663ed3-b491-4306-953b-86561fb6fd99", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=aa663ed3-b491-4306-953b-86561fb6fd99"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.085783s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': {'user_data': 'foo'}} 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-f93075b0-e896-4f35-8de7-68cf2c203bd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.110171s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/node-57.1 WITH [{'path': '/maintenance', 'op': 'replace', 'value': True}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-173c2200-51c8-4e6c-b3cb-d90b54000d3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:18.880469+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.073771s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/123 123/ports WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.063378s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9018c57a-495b-40b0-a7df-3243227de66f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:19.034240+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.104411s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'value': 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc7ed5ac-983b-4109-92e9-398d2544e75b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.058849s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/provision_updated_at', 'op': 'replace', 'value': '2000-01-01 00:00:00'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7fc4aed-9c81-4735-a775-1802b746aff9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.083745s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6cf9eccf-e29c-429e-bbea-45600dd217b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.335726s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/mode', 'op': 'add', 'value': '802.3ad'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b63489d4-eb9d-43ae-a6d7-4c8da079eae2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH [{'path': '/properties/abc', 'op': 'add', 'value': 123}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cc787c9-99fd-4cce-bee6-8b8d7918da39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.110218s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/ports WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.099235s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fa99d1a-f10d-4509-b1e0-eaba962a7927 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.217249s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3614818-104c-435f-9e8d-62af8155895e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:19.338482+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.170138s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?sort_key=uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7490b7d1-1170-478c-b7ab-98177e5f92fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "970fdcb6-0b1a-49e7-8086-ca82dafd358e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/970fdcb6-0b1a-49e7-8086-ca82dafd358e", "rel": "self"}, {"href": "http://localhost/nodes/970fdcb6-0b1a-49e7-8086-ca82dafd358e", "rel": "bookmark"}]}, {"uuid": "ad580ac5-c4a5-411d-bf60-f95306bb1bdc", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/ad580ac5-c4a5-411d-bf60-f95306bb1bdc", "rel": "self"}, {"href": "http://localhost/nodes/ad580ac5-c4a5-411d-bf60-f95306bb1bdc", "rel": "bookmark"}]}, {"uuid": "ece8a95d-90a1-4c65-b43c-c19281c47169", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/ece8a95d-90a1-4c65-b43c-c19281c47169", "rel": "self"}, {"href": "http://localhost/nodes/ece8a95d-90a1-4c65-b43c-c19281c47169", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.046518s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?sort_key=resource_class WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-229d069f-fbf3-409f-8a2c-a98e883d1dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"nodes": [{"uuid": "84027f56-771e-4a19-b052-629b32a60ed8", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/84027f56-771e-4a19-b052-629b32a60ed8", "rel": "self"}, {"href": "http://localhost/nodes/84027f56-771e-4a19-b052-629b32a60ed8", "rel": "bookmark"}]}, {"uuid": "c7288e4e-57c1-4956-91f2-dfd011b88c72", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c7288e4e-57c1-4956-91f2-dfd011b88c72", "rel": "self"}, {"href": "http://localhost/nodes/c7288e4e-57c1-4956-91f2-dfd011b88c72", "rel": "bookmark"}]}, {"uuid": "b4cefa73-871c-4717-bc2c-21111112a011", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/b4cefa73-871c-4717-bc2c-21111112a011", "rel": "self"}, {"href": "http://localhost/nodes/b4cefa73-871c-4717-bc2c-21111112a011", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.142662s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.059040s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?sort_key=foo WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba4a20b9-0bf9-4364-9364-fac8193664ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0381f2e6-008e-477e-8092-be7c8e2b3a1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d51513b-26a7-4c80-a022-b7aa2de7c056 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc0fdcbc-131d-405c-a279-4a16c40c4403 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02968b02-5bca-4d0b-9894-8994b804ebcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9762e229-134f-45d8-b20d-8b4660db53b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f5a0344-e571-4c98-97b8-ad9842dde72c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0752c42-9993-44ff-97e8-b503dfa20989 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.030677s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?sort_key=resource_class WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b34385f-a8de-4369-9d6f-085dcf131b32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_enroll [0.114576s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90edade1-0072-4cdc-af3c-270395045abe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9562f1a0-01c9-41a8-b630-16ce7443fea0"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.093046s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?associated=false WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fed9cd4-0066-4d61-b9de-eae48e46d23f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "11da7b5b-c232-4ead-adfc-763606c30ed0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/11da7b5b-c232-4ead-adfc-763606c30ed0", "rel": "self"}, {"href": "http://localhost/nodes/11da7b5b-c232-4ead-adfc-763606c30ed0", "rel": "bookmark"}]}, {"uuid": "9fa16e06-6420-447a-bfc8-17111577a885", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/9fa16e06-6420-447a-bfc8-17111577a885", "rel": "self"}, {"href": "http://localhost/nodes/9fa16e06-6420-447a-bfc8-17111577a885", "rel": "bookmark"}]}, {"uuid": "a12e92b1-3b43-4631-9762-ddfa6e501c3d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a12e92b1-3b43-4631-9762-ddfa6e501c3d", "rel": "self"}, {"href": "http://localhost/nodes/a12e92b1-3b43-4631-9762-ddfa6e501c3d", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/nodes?associated=FALSE WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0daf269b-ffcc-418c-9da8-b190ca983598 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "11da7b5b-c232-4ead-adfc-763606c30ed0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/11da7b5b-c232-4ead-adfc-763606c30ed0", "rel": "self"}, {"href": "http://localhost/nodes/11da7b5b-c232-4ead-adfc-763606c30ed0", "rel": "bookmark"}]}, {"uuid": "9fa16e06-6420-447a-bfc8-17111577a885", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/9fa16e06-6420-447a-bfc8-17111577a885", "rel": "self"}, {"href": "http://localhost/nodes/9fa16e06-6420-447a-bfc8-17111577a885", "rel": "bookmark"}]}, {"uuid": "a12e92b1-3b43-4631-9762-ddfa6e501c3d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a12e92b1-3b43-4631-9762-ddfa6e501c3d", "rel": "self"}, {"href": "http://localhost/nodes/a12e92b1-3b43-4631-9762-ddfa6e501c3d", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.818208s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': {'user_data': {'serialize': 'me'}, 'meta_data': {'hostname': 'example.com'}, 'network_data': {'links': []}, 'vendor_data': {'foo': 'bar'}}} GOT Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-2d76e2e8-4a8f-4652-aa9c-5879077c81c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.739975s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388 WITH [{'path': '/boot_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4177585-019a-466e-b788-bfd398c6021d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "created_at": "2024-03-19T00:20:19.229484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388 WITH [{'path': '/console_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff2ad09c-14c1-4a2f-86db-4fb7e634fae7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "created_at": "2024-03-19T00:20:19.229484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "****** DEBUG util.py:445: ", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388 WITH [{'path': '/deploy_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9ba0a8b-242f-4b6a-89e0-6eaac2145b8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "created_at": "2024-03-19T00:20:19.229484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "bookmark"}], "conductor": null, "alloca DEBUG util.py:445: tion_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388 WITH [{'path': '/inspect_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fbb48347-b2e7-4cb6-bb2c-e3135dc04d3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "created_at": "2024-03-19T00:20:19.229484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388 WITH [{'path': '/management_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: DEBUG util.py:445: req-a1a16bae-ac62-436e-819f-4cbd24eb1409 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "created_at": "2024-03-19T00:20:19.229484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388 WITH [{'path': '/power_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f58515d-87f9-4f27-95d4-20e41b8f2f73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "created_at": "2024-03-19T00:20:19.229484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_ DEBUG util.py:445: data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388 WITH [{'path': '/raid_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d02bda1a-3acf-48b4-8bb8-f638d64633c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "created_at": "2024-03-19T00:20:19.229484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f DEBUG util.py:445: 39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388 WITH [{'path': '/vendor_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c18de201-713f-4fb9-837b-2cee0ccf79e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "created_at": "2024-03-19T00:20:19.229484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f39133d-fac9-4fe0-8bf6-85b45f1b5388/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_override_defaults [0.239222s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43db4b10-6bc8-44aa-88eb-07bfdb1a1737 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d300950a-6337-4ef2-b812-de34dc1ac3ef"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.110933s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True WITH [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8089182-9628-41f7-a420-6f81a51f077b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.237557s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?associated=False&limit=2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ba91ed5-d474-4c25-aec3-be20df0f648b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"nodes": [{"uuid": "26afb48f-7852-4276-b0e0-dc06c9771459", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/26afb48f-7852-4276-b0e0-dc06c9771459", "rel": "self"}, {"href": "http://localhost/nodes/26afb48f-7852-4276-b0e0-dc06c9771459", "rel": "bookmark"}]}, {"uuid": "223d3520-0b1d-4284-b58c-9de460fdb931", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/223d3520-0b1d-4284-b58c-9de460fdb931", "rel": "self"}, {"href": "http://localhost/nodes/223d3520-0b1d-4284-b58c-9de460fdb931", "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=223d3520-0b1d-4284-b58c-9de460fdb931"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.226578s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': ['aabb']} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5815ae36-976c-4598-a233-17fce9998e31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.068565s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/validate?node=spam WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b51283f3-5f7f-4a88-9ca9-b72b36a369f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_wrong_driver [0.104631s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69ff18bc-ad5c-474f-8548-54139cc3bd53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-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\": \"An unknown exception occurred.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.051134s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/validate?node=spam WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31cca7d4-af23-498b-b8ff-1046c217ead3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.072547s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b058a7bc-625e-4b67-aa71-03462a372cdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.168835s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': '{"meta_data": '} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21840efe-9d7c-43a7-863d-fc60c698fb99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_inspector_compatibility [0.152033s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-121491c2-ab98-40d6-88e5-30b192b283e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d6a0c027-226a-4188-9ea3-0d18998a34e5"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.048360s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4acce3dc-87ff-42a4-89a9-b1b0696041ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_invalid_schema [0.113701s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42'}, 'test': 42} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-558ece57-87cd-41fa-b0ce-53b1b9b8dfc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for data: 'interfaces' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.154302s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': 'http://example.com'} 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-2731901a-d6e1-4f70-be7e-110c268a3d7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.112162s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7b241be-25be-4360-9bef-32f1ff2e488d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "893fe98a-5a5a-4591-9bce-2920ae0ad54f", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/893fe98a-5a5a-4591-9bce-2920ae0ad54f", "rel": "self"}, {"href": "http://localhost/volume/connectors/893fe98a-5a5a-4591-9bce-2920ae0ad54f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "3bcc77a8-053f-4d6a-ac91-b6e187ae3e0c", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/3bcc77a8-053f-4d6a-ac91-b6e187ae3e0c", "rel": "self"}, {"href": "http://localhost/volume/connectors/3bcc77a8-053f-4d6a-ac91-b6e187ae3e0c", "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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f950b00c-01a4-4e4f-aca6-bffa95f98ea6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "893fe98a-5a5a-4591-9bce-2920ae0ad54f", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/893fe98a-5a5a-4591-9bce-2920ae0ad54f", "rel": "self"}, {"href": "http://localhost/volume/connectors/893fe98a-5a5a-4591-9bce-2920ae0ad54f", "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=893fe98a-5a5a-4591-9bce-2920ae0ad54f"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.409474s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True WITH [{'path': '/name', 'value': 'new name', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9491bdd8-7281-42bb-a41a-dc5c3a6e575a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.098088s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7405ed0-9761-433f-8a75-e66b776e0cad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_new_api [0.153753s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-becfeb6d-096b-46ed-bbbf-36acafc764dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "912d394f-b951-4fda-9b7c-d332cd507954", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/912d394f-b951-4fda-9b7c-d332cd507954", "rel": "self"}, {"href": "http://localhost/nodes/912d394f-b951-4fda-9b7c-d332cd507954", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "noop", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": null, "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.058401s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/volume/connectors WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.164447s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset', 'priority': 95, 'args': {}}]} GOT Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-dade9bdb-9e73-4dba-9e76-57568e6f577e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.055359s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c300602a-a4e4-4258-952c-d87f8fe6eac8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.036067s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-885d5d13-5b82-46ba-b8e3-ddb890768be4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.214165s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/ca260711-0f5c-421a-be59-d749df2c1b67 WITH [{'path': '/network_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-049c80a5-5b7f-46bf-90ec-607602cda114 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ca260711-0f5c-421a-be59-d749df2c1b67", "created_at": "2024-03-19T00:20:20.481338+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ca260711-0f5c-421a-be59-d749df2c1b67", "rel": "self"}, {"href": "http://localhost/nodes/ca260711-0f5c-421a-be59-d749df2c1b67", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ca260711-0f5c-421a-be59-d749df2c1b67/ports", "rel": "self"}, {"href": "http://localhost/nodes/ca260711-0f5c-421a-be59-d749df2c1b67/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ca260711-0f5c-421a-be59-d749df2c1b67/states", "rel": "self"}, {"href": "http://localhost/nodes/ca260711-0f5c-421a-be59-d749df2c1b67/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ca260711-0f5c-421a-be59-d749df2c1b67/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ca260711-0f5c-421a-be59-d749df2c1b67/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ca260711-0f5c-421a-be59-d749df2c1b67/volume", "rel": "self"}, {"href": "http://localhost/nodes/ca260711-0f5c-421a-be59-d749df2c1b67/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_no_usable_lookup_data [0.133777s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'interfaces': [{'mac_address': 'meow'}]}, 'test': 42} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2290b748-3631-4247-88c5-78152894c32f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No lookup information provided\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.058930s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d05b386-763b-4292-ab01-42b2b7ac2506 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:20.631493+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.172551s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset'}]} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4be24dee-e4a7-4d39-b06e-96cb6ce70730 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.170621s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501 WITH [{'path': '/storage_interface', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09c5577a-8d6b-4a79-9edd-5b333dbec248 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6b6edb37-5af3-4952-bdb0-d37a829da501", "created_at": "2024-03-19T00:20:20.679784+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501", "rel": "self"}, {"href": "http://localhost/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501/ports", "rel": "self"}, {"href": "http://localhost/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501/states", "rel": "self"}, {"href": "http://localhost/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501/volume", "rel": "self"}, {"href": "http://localhost/nodes/6b6edb37-5af3-4952-bdb0-d37a829da501/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.131153s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b91407d1-7dd9-491c-9e64-7ac83e2171a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "5216faf8-b68c-47f1-b0cc-900c09eabd56", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/5216faf8-b68c-47f1-b0cc-900c09eabd56", "rel": "self"}, {"href": "http://localhost/volume/targets/5216faf8-b68c-47f1-b0cc-900c09eabd56", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "e7497d03-8900-4b39-abef-1695d124c839", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/e7497d03-8900-4b39-abef-1695d124c839", "rel": "self"}, {"href": "http://localhost/volume/targets/e7497d03-8900-4b39-abef-1695d124c839", "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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-911ed6b9-dfe4-4aea-8826-dc0a9ad5a6e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "5216faf8-b68c-47f1-b0cc-900c09eabd56", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/5216faf8-b68c-47f1-b0cc-900c09eabd56", "rel": "self"}, {"href": "http://localhost/volume/targets/5216faf8-b68c-47f1-b0cc-900c09eabd56", "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=5216faf8-b68c-47f1-b0cc-900c09eabd56"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_old_api_version [0.152533s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e32620a-bb79-484f-b8c0-1abe9179b94e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"API version 1.84 or newer is required\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.150918s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild'} 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-1836d969-fea3-40df-a60f-90b8e268f680 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.085242s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'invalid_state', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02b44fb9-99a1-4ccd-88ce-f952cb879a83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.110052s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4137d513-7e45-47d1-8632-a5321d8dc11e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.172983s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/3b77d612-e5d8-4e0e-9896-a72797232619 WITH [{'path': '/instance_uuid', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0a9a017-81f9-4504-9726-8e07ca918cc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "3b77d612-e5d8-4e0e-9896-a72797232619", "created_at": "2024-03-19T00:20:20.866228+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": true, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": "power off", "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/3b77d612-e5d8-4e0e-9896-a72797232619", "rel": "self"}, {"href": "http://localhost/nodes/3b77d612-e5d8-4e0e-9896-a72797232619", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3b77d612-e5d8-4e0e-9896-a72797232619/ports", "rel": "self"}, {"href": "http://localhost/nodes/3b77d612-e5d8-4e0e-9896-a72797232619/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.064800s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/volume/targets WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.150026s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild', 'configdrive': 'foo'} 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-40a69f26-0a5f-4717-a0c8-af6e1aedd304 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.132558s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url2'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-074d93d8-83bb-499e-98a8-9377fe45df22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.120989s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/f9e84b6b-df6f-45c1-b715-3a076f21b335 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-610e76c4-0964-4691-a3ac-807714521633 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "f9e84b6b-df6f-45c1-b715-3a076f21b335", "created_at": "2024-03-19T00:20:21.008432+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": "power off", "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f9e84b6b-df6f-45c1-b715-3a076f21b335", "rel": "self"}, {"href": "http://localhost/nodes/f9e84b6b-df6f-45c1-b715-3a076f21b335", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f9e84b6b-df6f-45c1-b715-3a076f21b335/ports", "rel": "self"}, {"href": "http://localhost/nodes/f9e84b6b-df6f-45c1-b715-3a076f21b335/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_named_parent_node_succeeds [0.117789s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '5def1e10-0c35-43d6-b694-a7cea8e4ad6b', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'parent_node': 'din'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b DEBUG util.py:445: Openstack-Request-Id: req-31b2bc82-d165-4cdf-b163-958c0f97f550 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"uuid": "5def1e10-0c35-43d6-b694-a7cea8e4ad6b", "created_at": "2024-03-19T00:20:21.063393+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b", "rel": "self"}, {"href": "http://localhost/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b/ports", "rel": "self"}, {"href": "http://localhost/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b/states", "rel": "self"}, {"href": "http://localhost/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b/volume", "rel": "self"}, {"href": "http://localhost/nodes/5def1e10-0c35-43d6-b694-a7cea8e4ad6b/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.093247s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/34508393-16c6-442f-a651-9ead29e2bac2 WITH {'callback_url': 'url'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d67819b-41e2-4185-85c1-cac5a024e66d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 34508393-16c6-442f-a651-9ead29e2bac2 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_parent_node [0.099702s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '161747ae-5c22-491b-a812-2a81445cccf6', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'parent_node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6 DEBUG util.py:445: Openstack-Request-Id: req-f6de8dfd-7597-49a1-8267-b9a7cb728486 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"uuid": "161747ae-5c22-491b-a812-2a81445cccf6", "created_at": "2024-03-19T00:20:21.155723+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6/ports", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6/states", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6/volume", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a856cf3d-2e84-4c80-9443-4d44e0294736 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"uuid": "161747ae-5c22-491b-a812-2a81445cccf6", "created_at": "2024-03-19T00:20:21.155723+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_ DEBUG util.py:445: step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6/ports", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6/states", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/161747ae-5c22-491b-a812-2a81445cccf6/volume", "rel": "self"}, {"href": "http://localhost/nodes/161747ae-5c22-491b-a812-2a81445cccf6/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.170811s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9 WITH [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9f74e8e-b6f2-4529-8a53-42364cf375b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9", "created_at": "2024-03-19T00:20:21.132066+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9", "rel": "self"}, {"href": "http://localhost/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9/ports", "rel": "self"}, {"href": "http://localhost/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9/states", "rel": "self"}, {"href": "http://localhost/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9/volume", "rel": "self"}, {"href": "http://localhost/nodes/9b7d9dab-dc3c-43a5-91d5-0ebb164aafc9/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.298094s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset', 'priority': 95, 'args': {}}]} GOT Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-a9f5a23b-877c-4ab5-8009-ac8262e0e4ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_parent_node_fail_wrong_version [0.127924s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': 'b95870ca-14ed-413f-b257-7601bcfbf216', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'parent_node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2014c27-62fb-4cf4-8565-50d96fffe03c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.231855s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'x'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-ace87e37-43d1-4e95-aee8-eb197ba1f09c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.097275s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-08f44690-2acf-45b1-a985-8901ff80e8f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c24b44ca-c11e-4cbb-9b84-ced24e9578fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.183352s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/dfc7f477-4cf5-41ac-b1ca-6a001f15b821 WITH [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4421369-0ffc-4fdc-bff9-f7ec7c0340b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.121285s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'start', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-756ad40d-2976-4c41-ab6c-6997022db66b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.194098s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild', 'configdrive': 'foo'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32ee426f-6754-4563-92cc-5180440ad048 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.105671s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/c32b3968-4c55-451a-8803-47524cac22c6 WITH [{'path': '/automated_clean', 'value': False, 'op': 'replace'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96fe6a8c-658c-453e-b7d0-85aa8a833d55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.100851s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'abcdef1'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-3f009500-0798-4d89-8ad1-f2cc7ced9252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.164257s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2bc3068-65f4-4e78-a6e7-a40b159fd50a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.078452s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deleted'} 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-f1b83c5c-787a-43a7-97aa-54310a02fe1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.089189s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deleted'} 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-bac4a365-e990-49fc-ae7e-b7086d1aeecf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.133219s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-a594ba2d-4124-4f1e-978d-b080ae689af8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.169814s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/node-57.1 WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25423ca0-bac0-4c02-9ea0-776e3e972408 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_undeploy [0.103356s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'undeploy'} 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-bfe927a0-2253-4d48-be9f-678ed0cd335c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.081611s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_version': '1.4.1', 'agent_token': 'meow'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-44d9735f-ae01-4b44-9e72-4cd11ad40cd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.061968s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-7fe64626-7453-4c78-a608-09b8146be480 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.085001s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/test.1 WITH {'callback_url': 'url', 'agent_token': 'token'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-bee68eef-91eb-4df5-8a94-cef16199595f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.201763s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537 WITH [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8dd207d8-3993-4519-b8ec-1b5e321844f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "360bb5d0-d1ea-47cd-b8f2-82bead59e537", "created_at": "2024-03-19T00:20:21.826417+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537", "rel": "self"}, {"href": "http://localhost/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537/ports", "rel": "self"}, {"href": "http://localhost/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537/states", "rel": "self"}, {"href": "http://localhost/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537/volume", "rel": "self"}, {"href": "http://localhost/nodes/360bb5d0-d1ea-47cd-b8f2-82bead59e537/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.109832s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60a69e7c-ee97-42b6-9dcf-b010c5196b88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.385174s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-a9e2add0-704b-4fa5-a4c7-67448daa4cf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:21.763609+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb7dd7e7-dcfd-496d-99d9-3a469aa9214e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:21.763609+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.144243s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json WITH {'callback_url': 'url', 'agent_token': 'maybe some magic'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-b14251ff-7827-4b07-9710-81901bffbe99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.077807s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6f8241b-14cb-4f62-a5cc-519745a120b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.085342s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01ce5485-d78e-418a-8a6a-313de03b0f04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.184452s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-24a1ee1a-2f58-4fdc-8fcf-462fbc8830a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:22.058751+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71a2c390-7b80-4cca-81b7-b73a515a2df7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:22.058751+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.188130s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1cb5088-c2d0-4a94-9d78-23a35ceeb8b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.073719s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7ac39b6-8d8a-46f8-936b-af892f0533ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.345710s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/ddeb176b-9501-48f5-8ea5-be2193f6d49b WITH [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-388aa8d8-0ea1-47dd-9679-fbc805ad79bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.121084s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-274d6815-ed9c-4bdc-be85-ee2b2f1917bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.084395s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_version': '1.4.1'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-331d484e-9e5a-4728-a5fe-7edb241edc82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.122222s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/a5efca45-85fe-418e-9bb5-fccfd771d761 DEBUG util.py:445: Openstack-Request-Id: req-d883a666-ea64-489f-9614-f5d44225b5ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a5efca45-85fe-418e-9bb5-fccfd771d761", "created_at": "2024-03-19T00:20:22.362945+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/a5efca45-85fe-418e-9bb5-fccfd771d761", "rel": "self"}, {"href": "http://localhost/ports/a5efca45-85fe-418e-9bb5-fccfd771d761", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET /v1/ports/a5efca45-85fe-418e-9bb5-fccfd771d761 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83b7dded-dece-47f9-a372-1dd06be89786 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a5efca45-85fe-418e-9bb5-fccfd771d761", "created_at": "2024-03-19T00:20:22.362945+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/a5efca45-85fe-418e-9bb5-fccfd771d761", "rel": "self"}, {"href": "http://localhost/ports/a5efca45-85fe-418e-9bb5-fccfd771d761", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.126925s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8c4ffa3-077b-4704-8e36-799a3e3d8546 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.050243s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'invalid-format', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c79956f-8f13-4aed-baa2-a24fc29286f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.046031s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': 'invalid-format', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8eb77b8-87c3-4ba7-93f6-c69d91ba8145 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.149727s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/3b29c49a-8035-4684-b9c3-0975cd319252 WITH {'callback_url': 'url'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b090afbf-ed47-4f09-916d-fec917d2c33a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.145493s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': '', 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a05ed06a-44dc-4656-8fde-85cbaade213e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.451394s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b80c912-015f-46f6-9780-95378fd31522 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.053164s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 1234, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b7edba2-cdf5-4ddd-9773-747e910a8629 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_boo [0.060887s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'boo!'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-559f6a7c-fd62-40f4-af74-ef7392e45e0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.057091s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d45fee46-0453-40bf-a70c-499ee72e6988 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.040307s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': ''} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6743195-f12d-4925-8b29-4fe7d9405a23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.201428s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6da77500-3097-4b6b-bde8-2cef8aaf506e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48b9a7d1-d2df-4c01-bbef-cbcc7a50a0e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "6da77500-3097-4b6b-bde8-2cef8aaf506e", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/6da77500-3097-4b6b-bde8-2cef8aaf506e", "rel": "self"}, {"href": "http://localhost/nodes/6da77500-3097-4b6b-bde8-2cef8aaf506e", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6da77500-3097-4b6b-bde8-2cef8aaf506e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4218843-3d7c-4cf2-96cc-3a51ab5a8f50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "6da77500-3097-4b6b-bde8-2cef8aaf506e", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/6da77500-3097-4b6b-bde8-2cef8aaf506e", "rel": "self"}, {"href": "http://localhost/nodes/6da77500-3097-4b6b-bde8-2cef8aaf506e", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6da77500-3097-4b6b-bde8-2cef8aaf506e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b6c78f1-cb24-44c0-9020-e60fcc1c42cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "6da77500-3097-4b6b-bde8-2cef8aaf506e", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/6da77500-3097-4b6b-bde8-2cef8aaf506e", "rel": "self"}, {"href": "http://localhost/nodes/6da77500-3097-4b6b-bde8-2cef8aaf506e", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.104004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-af282238-5dff-486a-bd31-a87119d129fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:22.828748+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15", "switch_info": "value3"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.093394s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ea63800-d3b7-4baa-9900-4e32397c842f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "f34ed08b-0151-4a59-af16-e66bbc66be37", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/f34ed08b-0151-4a59-af16-e66bbc66be37", "rel": "self"}, {"href": "http://localhost/nodes/f34ed08b-0151-4a59-af16-e66bbc66be37", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "some-value", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_older_soft_ver [0.119852s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': False} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4ae76fe-dbe3-4fe8-ba01-45faa05e3f93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.058247s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?node_uuid=ab5f70f0-cf3d-4c59-9ee0-e4535972ca0e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6fc9975-8411-48c7-8a77-ceae4888362a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "ab5f70f0-cf3d-4c59-9ee0-e4535972ca0e", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/ab5f70f0-cf3d-4c59-9ee0-e4535972ca0e", "rel": "self"}, {"href": "http://localhost/nodes/ab5f70f0-cf3d-4c59-9ee0-e4535972ca0e", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "xyzabc", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_soft_ver [0.068237s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': False} 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-4e4d17ea-036b-4686-9d11-9df6eb5310da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.700307s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf WITH [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8dba2b8-c677-4ea8-b4d3-70ab5203bcd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1b82c09b-48a4-4bab-9db0-3baa953fffbf", "created_at": "2024-03-19T00:20:22.489101+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf", "rel": "self"}, {"href": "http://localhost/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf/ports", "rel": "self"}, {"href": "http://localhost/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf/states", "rel": "self"}, {"href": "http://localhost/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf/volume", "rel": "self"}, {"href": "http://localhost/nodes/1b82c09b-48a4-4bab-9db0-3baa953fffbf/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.046799s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=fbac47f7-97d3-4558-9dbe-018bdff93c0e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf79fc32-79f6-49c4-ac43-7fccd1c96ebb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "fbac47f7-97d3-4558-9dbe-018bdff93c0e", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/fbac47f7-97d3-4558-9dbe-018bdff93c0e", "rel": "self"}, {"href": "http://localhost/nodes/fbac47f7-97d3-4558-9dbe-018bdff93c0e", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "this_thing_on?", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.162628s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'switch_info': 'fooswitch'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-608c81ad-c392-49f6-9224-9da2fc3605e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: {'switch_id': '0a:1b:2c:3d:4e:5f', 'switch_info': 'fooswitch'} is not valid under any of the given schemas. Possible root cause: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.067951s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ 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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-152c4b9d-d1b3-44fe-9e48-08944f7c3f05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "c55a6978-2f4f-44bc-8ea7-be1a63efcb84", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/c55a6978-2f4f-44bc-8ea7-be1a63efcb84", "rel": "self"}, {"href": "http://localhost/nodes/c55a6978-2f4f-44bc-8ea7-be1a63efcb84", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "123456", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.073335s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 0} 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-66149d28-4f04-47c7-a6f6-1a33fab3f58a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.060674s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=28367d7e-de21-47f8-962c-bb7bbcb3d6e8 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6497b0e4-41c2-4abe-b028-ccbdebef567b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "28367d7e-de21-47f8-962c-bb7bbcb3d6e8", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/28367d7e-de21-47f8-962c-bb7bbcb3d6e8", "rel": "self"}, {"href": "http://localhost/nodes/28367d7e-de21-47f8-962c-bb7bbcb3d6e8", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "234567890", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.052910s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 2} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-049d1d52-4381-4b42-b35c-0006c1358ed0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.072963s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ceeb6f1-5922-494c-9193-e5cb59583a9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.248188s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/a59a8f32-87e0-4a66-8cef-12569234978e WITH [{'path': '/description', 'value': '123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812 DEBUG util.py:445: 3456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41cb0b9f-9370-45e7-baec-fcdb3e933840 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.255956s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-4ab4eeca-978c-4b44-9527-51d957997ae3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:23.260627+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.182258s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5fb9cd8-7d68-45e5-be19-fccef91b03a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.116863s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bf6fc2d-f484-4379-92da-7092304baec3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.078202s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': True} 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-1c6c33bf-992a-4eeb-9fa1-353d67407b78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.121727s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 1} 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-9e9b3d64-0c80-415f-bbb8-0e374c5783dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.192540s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a27c2704-0e40-4592-9232-c1d906c4a0b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.297125s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/driver', 'value': 'bad-driver', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ab38f27-f7b0-4040-9952-9f1c00b36e18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.048705s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=c4093406-36ae-4cc7-81a7-3b38776c3fd1 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8793ab2a-b402-4777-936d-98b5dd9fbe94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.266564s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': 'zz:zz:zz:zz:zz:zz', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-031bc7fc-5640-4d02-803c-b3a891e6e9fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.029340s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54e96fb5-1364-43bf-aa2a-f0995a7edad5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.90"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}], "shards": [{"href": "http://localhost/v1/shards/", "rel": "self"}, {"href": "http://localhost/shards/", "rel": "bookmark"}], "continue_inspection": [{"href": "http://localhost/v1/continue_inspection/", "rel": "self"}, {"href": "http://localhost/continue_inspection/", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service [0.091635s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'service', 'service_steps': [{'interface': 'deploy', 'step': 'meow'}]} 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-04983831-9c30-4b00-a36a-81aa9130bb0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.87 DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.050301s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd4ed6e9-17c2-4538-85e6-03d7248f5986 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 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.90"}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service_args_required [0.090959s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'service'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a8f88eb-61f6-45fe-ac24-ec96a5279ce3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.87 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"service_steps\\\" is required when setting target provision state to service\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.041295s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f9661d8-9317-416a-bab5-7164960dbb4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 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.90"}} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.038978s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.058051s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-cd87431c-6760-4968-8316-f909c80a0e70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.036983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.029284s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.231843s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31'} GOT Response: 201 Created 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-895979dd-9935-480d-9f93-dd88966f136f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:23.721638+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.085042s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ef4fc187-514b-4ec4-b822-2d02abea0d28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.041871s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.077098s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a87ca7cc-750f-499a-93cc-84f381c69ce6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.123348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.066730s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=True WITH {'boot_device': 'pxe'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-3ac0f9e7-f3f5-4eb4-91f7-1f3d7dea8a9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.057672s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=blah WITH {'boot_device': 'pxe'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0dc89382-32c2-481f-9187-540dd3160e0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.062525s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/states/console WITH {'enabled': 'true'} 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-c4a3fb10-fb47-40c6-bbcc-7902881bc06f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.092790s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/states/console WITH {'enabled': 'true'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a01522f8-6b67-49dd-98ff-2ec242394140 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.050862s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': 'invalid-value'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2d59bc5-2bf8-4d23-bbe0-1849a4252174 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.474246s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-211e0e68-d9b0-4444-9e8e-afd277c64417 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.074191s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90a64032-3d74-4b89-b8be-cdc40916c1a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.065921s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': 'true'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-351e68cc-2697-47ee-ac2b-63587ea21d12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.852405s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/driver_info/this', 'value': 'foo', 'op': 'add'}, {'path': '/driver_info/that', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccad8432-e3c6-4727-85c8-97cdaed07b3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.059556s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': 'false'} 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-c7d41346-ac23-4293-92c3-9179a7eefa10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.072149s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': 'true'} 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-2c764dbb-e8b2-495d-9324-76ca17f031aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.347375s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1f892ae-9a52-4688-921b-14ad73f4b33f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.352718s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-765f2a15-27a3-409b-a41f-041c4893cec1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.488071s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {'state': 'on'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-330563db-1969-4281-8221-2d8046c20ff2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.046899s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=glow WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0050c03c-c55e-453f-997a-cec087c0d946 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [1.132227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.053606s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {'state': 'on'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7b0c68f-affb-4263-ba13-6de8c2bc0d58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.049164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.051611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.130040s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=on WITH {} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-d3d154a4-d123-4850-95bb-db5b4b78e7a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.079803s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {'state': 'on'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-fa6e3a33-3e5f-4afb-b490-047ec37375dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.143697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.046437s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH {'reason': 'fake_reason'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-37db663f-91a9-4fad-830e-aee175c92797 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.026389s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.026601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.045131s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/maintenance WITH {'reason': 'fake_reason'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-90b9777b-741c-4c0e-8cb0-dd7572cbf2f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.026201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.050811s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH {'reason': 'fake'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e29050a6-1b62-4cd7-a07f-1a8bf96edc9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_cant_set_only_logical [0.087951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.063732s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH {} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-dcfb2988-d961-4d42-852a-30f5de5220b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_cant_set_only_physical [0.069991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.088541s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/maintenance WITH {} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-0b28f79e-44ab-4ff7-bcdd-d56b3ea4d177 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.080503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.657202s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None} 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-0d88640c-896e-4719-ab08-565b802694e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:25.416137+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.101131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_cleanhold [0.198878s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} 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-014d6272-b434-40f5-bebd-ab4f7f0a3286 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.85 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.158019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [1.572269s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/f4610eba-c2ac-46cd-b221-b23d8f80558b WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae195c4f-77c3-418a-91d8-b3591a343436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "f4610eba-c2ac-46cd-b221-b23d8f80558b", "created_at": "2024-03-19T00:20:24.735717+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "deploy failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/f4610eba-c2ac-46cd-b221-b23d8f80558b", "rel": "self"}, {"href": "http://localhost/nodes/f4610eba-c2ac-46cd-b221-b23d8f80558b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f4610eba-c2ac-46cd-b221-b23d8f80558b/ports", "rel": "self"}, {"href": "http://localhost/nodes/f4610eba-c2ac-46cd-b221-b23d8f80558b/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/73bcfd46-7f99-47cc-beaa-d67835545949 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74368014-f3fe-46ca-a07a-cdbb4f72bfbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "73bcfd46-7f99-47cc-beaa-d67835545949", "created_at": "2024-03-19T00:20:24.999704+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/73bcfd46-7f99-47cc-beaa-d67835545949", "rel": "self"}, {"href": "http://localhost/nodes/73bcfd46-7f99-47cc-beaa-d67835545949", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/73bcfd46-7f99-47cc-beaa-d67835545949/ports", "rel": "self"}, {"href": "http://localhost/nodes/73bcfd46-7f99-47cc-beaa-d67835545949/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/008ec255-ef3e-4149-a0a1-0c91b71b888d WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b92418d0-3d77-401b-b0c6-d1b8f7c21c00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "008ec255-ef3e-4149-a0a1-0c91b71b888d", "created_at": "2024-03-19T00:20:25.121505+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspect failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/008ec255-ef3e-4149-a0a1-0c91b71b888d", "rel": "self"}, {"href": "http://localhost/nodes/008ec255-ef3e-4149-a0a1-0c91b71b888d", "rel": "bookmark"} DEBUG util.py:445: ], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/008ec255-ef3e-4149-a0a1-0c91b71b888d/ports", "rel": "self"}, {"href": "http://localhost/nodes/008ec255-ef3e-4149-a0a1-0c91b71b888d/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/4b22c114-ec0d-4a83-85cf-dc62d5247652 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a9cc1fc-af36-48e9-bca1-05490af9e760 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "4b22c114-ec0d-4a83-85cf-dc62d5247652", "created_at": "2024-03-19T00:20:25.180301+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/4b22c114-ec0d-4a83-85cf-dc62d5247652", "rel": "self"}, {"href": "http://localhost/nodes/4b22c114-ec0d-4a83-85cf-dc62d5247652", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4b22c114-ec0d-4a83-85cf-dc62d5247652/ports", "rel": "self"}, {"href": "http://localhost/nodes/4b22c114-ec0d-4a83-85cf-dc62d5247652/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/fe54dc1b-9ba3-4234-8e9a-7ea16ec9682c WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c948560-d589-4205-9c72-08a1f3758017 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "fe54dc1b-9ba3-4234-8e9a-7ea16ec9682c", "created_at": "2024-03-19T00:20:25.273144+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "clean failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/fe54dc1b-9ba3-4234-8e9a-7ea16ec9682c", "rel": "self"}, {"href": "http://localhost/nodes/fe54dc1b-9ba3-4234-8e9a-7ea16ec9682c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fe54dc1b-9ba3-4234-8e9a-7ea16ec9682c/ports", "rel": "self"}, {"href": "http://localhost/nodes/fe54dc1b-9ba3-4234-8e9a-7ea16ec9682c/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/ce769289-6852-448e-8e2f-633f955b1207 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ac32ea9-3f45-4529-8361-7d403b2061c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "ce769289-6852-448e-8e2f-633f955b1207", "created_at": "2024-03-19T00:20:25.309250+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "error", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_p DEBUG util.py:445: rovision_state": "available", "links": [{"href": "http://localhost/v1/nodes/ce769289-6852-448e-8e2f-633f955b1207", "rel": "self"}, {"href": "http://localhost/nodes/ce769289-6852-448e-8e2f-633f955b1207", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ce769289-6852-448e-8e2f-633f955b1207/ports", "rel": "self"}, {"href": "http://localhost/nodes/ce769289-6852-448e-8e2f-633f955b1207/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/0b30f02d-2b76-43b0-9556-f6af99348e1a WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c734061-3c28-42b8-9907-6c317f094961 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0b30f02d-2b76-43b0-9556-f6af99348e1a", "created_at": "2024-03-19T00:20:25.371697+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "verifying", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/0b30f02d-2b76-43b0-9556-f6af99348e1a", "rel": "self"}, {"href": "http://localhost/nodes/0b30f02d-2b76-43b0-9556-f6af99348e1a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0b30f02d-2b76-43b0-9556-f6af99348e1a/ports", "rel": "self"}, {"href": "http://localhost/nodes/0b30f02d-2b76-43b0-9556-f6af99348e1a/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/f08ca0d5-0383-4d8b-a792-c4d5dde04db8 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-738936f5-4ea7-43a0-8326-f73249fde9f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "f08ca0d5-0383-4d8b-a792-c4d5dde04db8", "created_at": "2024-03-19T00:20:25.425598+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "adopt failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/f08ca0d5-0383-4d8b-a792-c4d5dde04db8", "rel": "self"}, {"href": "http://localhost/nodes/f08ca0d5-0383-4d8b-a792-c4d5dde04db8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f08ca0d5-0383-4d8b-a792-c4d5dde04db8/ports", "rel": "self"}, {"href": "http://localhost/nodes/f08ca0d5-0383-4d8b-a792-c4d5dde04db8/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/1398cce2-9844-4064-bc64-eb280b80eae2 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3deac8a7-0ba4-4359-bd95-d65136da1963 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "1398cce2-9844-4064-bc64-eb280b80eae2", "created_at": "2024-03-19T00:20:25.553710+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": DEBUG util.py:445: null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "rescue failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/1398cce2-9844-4064-bc64-eb280b80eae2", "rel": "self"}, {"href": "http://localhost/nodes/1398cce2-9844-4064-bc64-eb280b80eae2", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1398cce2-9844-4064-bc64-eb280b80eae2/ports", "rel": "self"}, {"href": "http://localhost/nodes/1398cce2-9844-4064-bc64-eb280b80eae2/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/371be53a-b44c-4eb2-9f68-3c53a53201f4 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce6802a1-ab17-46af-b657-d7789fca017a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "371be53a-b44c-4eb2-9f68-3c53a53201f4", "created_at": "2024-03-19T00:20:25.637225+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "unrescue failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/371be53a-b44c-4eb2-9f68-3c53a53201f4", "rel": "self"}, {"href": "http://localhost/nodes/371be53a-b44c-4eb2-9f68-3c53a53201f4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/371be53a-b44c-4eb2-9f68-3c53a53201f4/ports", "rel": "self"}, {"href": "http://localhost/nodes/371be53a-b44c-4eb2-9f68-3c53a53201f4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/eeff7f58-68f0-472a-8a7c-20703ee3507d WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5309b3ae-a6f3-4ada-a6ee-9c2f6e74a2d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "eeff7f58-68f0-472a-8a7c-20703ee3507d", "created_at": "2024-03-19T00:20:25.709998+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "service", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/eeff7f58-68f0-472a-8a7c-20703ee3507d", "rel": "self"}, {"href": "http://localhost/nodes/eeff7f58-68f0-472a-8a7c-20703ee3507d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eeff7f58-68f0-472a-8a7c-20703ee3507d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eeff7f58-68f0-472a-8a7c-20703ee3507d/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/d4a903e2-0ddd-4f38-9f16-949181951f32 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c152897-fd17-41e5-adfb-3b41ddf89901 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d4a903e2-0ddd-4f38-9f16-949181951f32", "created_at": "2024-03-19T00:20:25.798481+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_in DEBUG util.py:445: fo": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "service hold", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/d4a903e2-0ddd-4f38-9f16-949181951f32", "rel": "self"}, {"href": "http://localhost/nodes/d4a903e2-0ddd-4f38-9f16-949181951f32", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d4a903e2-0ddd-4f38-9f16-949181951f32/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4a903e2-0ddd-4f38-9f16-949181951f32/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/6e5e4a9d-935f-4896-a98c-d776dac3bfc7 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f8edc88-bdbd-4184-9032-a0fbe36e128d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "6e5e4a9d-935f-4896-a98c-d776dac3bfc7", "created_at": "2024-03-19T00:20:25.853096+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "service failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/6e5e4a9d-935f-4896-a98c-d776dac3bfc7", "rel": "self"}, {"href": "http://localhost/nodes/6e5e4a9d-935f-4896-a98c-d776dac3bfc7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6e5e4a9d-935f-4896-a98c-d776dac3bfc7/ports", "rel": "self"}, {"href": "http://localhost/nodes/6e5e4a9d-935f-4896-a98c-d776dac3bfc7/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_cleanhold_not_allowed [0.223599s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8db8e42-3936-4a2e-b711-7910c4639ff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.84 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.114291s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0 WITH [{'path': '/instance_uuid', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-890737a1-7e3e-4c98-85c3-03c00df28aad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "4a28e203-200d-4c66-b00e-3d560ac570b0", "created_at": "2024-03-19T00:20:25.988092+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0", "rel": "self"}, {"href": "http://localhost/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0/ports", "rel": "self"}, {"href": "http://localhost/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0/states", "rel": "self"}, {"href": "http://localhost/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0/volume", "rel": "self"}, {"href": "http://localhost/nodes/4a28e203-200d-4c66-b00e-3d560ac570b0/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_set_both_switches [0.193740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.475839s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-9db8029d-c605-4065-921c-a0a43e8c932f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:26.073381+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.127402s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/c379ab1e-561d-467c-b3ea-dcafe1b5387d WITH [{'path': '/instance_uuid', 'op': 'remove'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef982cb5-b798-474b-8584-734137928225 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 \\\"c379ab1e-561d-467c-b3ea-dcafe1b5387d\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.231048s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_deployhold [0.432981s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} 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-471c22ee-28ce-4ae7-8793-cf8e7765f13b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.85 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.190067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_deployhold_not_allowed [0.168004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-563d2cda-c4b4-4608-90ed-e366847a0c36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.84 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.209234s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.627517s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-5f871516-237c-4c85-b0d2-6523ff62ee7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:26.640995+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.557918s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde WITH [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80563ab2-6cb3-47b1-ac53-adc084b38ae4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c43ca58b-7d92-4514-81e6-2aefe22b2dde", "created_at": "2024-03-19T00:20:26.267995+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde WITH [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b55ae45-aef3-4b20-8fc4-0c35c959e99d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c43ca58b-7d92-4514-81e6-2aefe22b2dde", "created_at": "2024-03-19T00:20:26.267995+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "* DEBUG util.py:445: *****", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde WITH [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66b97cb6-ccd4-47aa-b6fe-d8620c130999 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c43ca58b-7d92-4514-81e6-2aefe22b2dde", "created_at": "2024-03-19T00:20:26.267995+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel" DEBUG util.py:445: : "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde WITH [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03281fa2-3978-43e8-b17c-63a0d27b5dc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c43ca58b-7d92-4514-81e6-2aefe22b2dde", "created_at": "2024-03-19T00:20:26.267995+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde WITH [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT DEBUG util.py:445: Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2244390f-0e58-408f-969a-8a09bddbf50a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c43ca58b-7d92-4514-81e6-2aefe22b2dde", "created_at": "2024-03-19T00:20:26.267995+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde WITH [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5613ccd9-f0a2-4652-af79-4d575b178962 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c43ca58b-7d92-4514-81e6-2aefe22b2dde", "created_at": "2024-03-19T00:20:26.267995+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": fals DEBUG util.py:445: e, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde WITH [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-526dab15-e4f7-46da-ac36-71948764229f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c43ca58b-7d92-4514-81e6-2aefe22b2dde", "created_at": "2024-03-19T00:20:26.267995+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/node DEBUG util.py:445: s/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde WITH [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12b8cb33-d6ca-4c53-8b2e-8d96bcdd5a1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c43ca58b-7d92-4514-81e6-2aefe22b2dde", "created_at": "2024-03-19T00:20:26.267995+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "self"}, {"href": "http://localhost/nodes/c43ca58b-7d92-4514-81e6-2aefe22b2dde/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.111749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_servicehold [0.231111s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} 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-b005f033-08c9-460d-b8b5-78803810c07c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.86 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.101300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.246355s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/700313f4-0a19-40cc-9b12-a90f39fd203b WITH [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81801dba-aac2-4e8b-b298-48eac3490fa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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/700313f4-0a19-40cc-9b12-a90f39fd203b WITH [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7e048b3-3d05-4722-a2da-b870a9c92a22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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/700313f4-0a19-40cc-9b12-a90f39fd203b WITH [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f6fed00-c318-4742-8943-a713fe7c92fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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/700313f4-0a19-40cc-9b12-a90f39fd203b WITH [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1ff7538-b0d7-48a6-a46c-187438ddf886 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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/700313f4-0a19-40cc-9b12-a90f39fd203b WITH [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14658cfd-4a48-44db-9a28-ca12a1aef2ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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/700313f4-0a19-40cc-9b12-a90f39fd203b WITH [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b7aa142-7982-43f8-9ddd-5c95368aefa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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/700313f4-0a19-40cc-9b12-a90f39fd203b WITH [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-656f1656-3da2-4649-ab8b-332a0063b5d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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/700313f4-0a19-40cc-9b12-a90f39fd203b WITH [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d34c02f6-8889-45d0-9bd1-18ef4f513b1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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.TestPut.test_unrescue_raises_error_before_1_38 [0.162037s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd63b847-86a1-4a20-81ff-a5ffbd502f1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.163110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.111511s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a WITH [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9b07375-f820-4f3e-aaa4-393613aa07e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "41fd5245-cd4b-49ec-8428-ce3d913f787a", "created_at": "2024-03-19T00:20:27.031650+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a", "rel": "self"}, {"href": "http://localhost/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a/ports", "rel": "self"}, {"href": "http://localhost/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a/states", "rel": "self"}, {"href": "http://localhost/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a/volume", "rel": "self"}, {"href": "http://localhost/nodes/41fd5245-cd4b-49ec-8428-ce3d913f787a/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.055191s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.113429s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {} 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-319646d6-2966-4b49-b23e-783c90e70ee0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.104678s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/7a6bd4c8-ef88-4655-82db-b763fbb468c9 WITH [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55f754bd-e8b2-48fa-8567-28ad8fbe4f2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.503768s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None} 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-fd2a4123-4d7a-49e6-aa81-2fbad94cf5f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:27.125169+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.123411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.165535s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8bcc1476-e42f-4207-aa25-c95f92f5e15f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.101740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.200056s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754 WITH [{'path': '/network_data', 'value': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.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'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffd0d156-3fff-448b-ae16-f892132722e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "cb371e29-5f5c-4d53-8c09-65cf6b37e754", "created_at": "2024-03-19T00:20:27.255368+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754", "rel": "self"}, {"href": "http://localhost/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754/ports", "rel": "self"}, {"href": "http://localhost/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cb371e29-5f5c-4d53-8c09 DEBUG util.py:445: -65cf6b37e754/states", "rel": "self"}, {"href": "http://localhost/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754/volume", "rel": "self"}, {"href": "http://localhost/nodes/cb371e29-5f5c-4d53-8c09-65cf6b37e754/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.148672s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e66f8aa4-477d-44ad-a374-4bb2f3b5302c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.091936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.114059s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00 WITH [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5aae02ec-6aad-42d4-bec2-25e3358d2883 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "6ee26654-8b1a-4763-adc6-fd23a09a3c00", "created_at": "2024-03-19T00:20:27.464147+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00", "rel": "self"}, {"href": "http://localhost/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00/ports", "rel": "self"}, {"href": "http://localhost/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00/states", "rel": "self"}, {"href": "http://localhost/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00/volume", "rel": "self"}, {"href": "http://localhost/nodes/6ee26654-8b1a-4763-adc6-fd23a09a3c00/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.081818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.077959s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54c840d5-2810-4219-85c8-99e9612a155c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: GET /v1/volume/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17fb796c-ed7c-4e29-8bc9-78f826259568 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: GET /volume/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb3ca359-914a-471f-b562-4002b2fb08db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d0947ab-3b3d-46f2-8f8e-34a3aaed6d51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": []} DEBUG util.py:445: GET /volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6020a6d8-39e1-41fd-8489-47b1bdb8dfee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": []} DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1d1893c-2da9-434c-8a59-626b566f1e71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": []} DEBUG util.py:445: GET /volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14ff7e87-6192-4fd1-a69a-2771e5513d8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": []} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.107121s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/a82ceb3a-d053-4ef1-9249-86623bc0dcba WITH [{'path': '/network_data', 'value': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.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'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eeb302ce-fae7-464b-ae0a-df91f0778f2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.030945s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/ WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f296510c-0ae3-4ee7-85fe-3ad798d3bf92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.196767s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbf73439-f6e2-4541-88ef-568fe51237dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.056217s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 WITH {} 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.095263s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/beec0800-e59b-4463-9cb9-c85e70243251 WITH [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a299ed17-5a09-4ed2-9b3d-9e0b76d272de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.077530s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created 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-9756428c-df29-4661-8315-ba530e263a6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45e344e5-f6d3-4807-bd76-7915e62b3280 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.100380s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created 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-ad2d14d2-b0a5-4d0d-aa8c-24cad08835e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:27.809846+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86efa574-f85e-4923-ab16-86feaa3167a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:27.809846+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.135830s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30 WITH [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39a4c780-5902-4976-b99d-393d29174ab9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7388a27d-5579-4468-9d98-e9f8c56c9e30", "created_at": "2024-03-19T00:20:27.778828+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30", "rel": "self"}, {"href": "http://localhost/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30/ports", "rel": "self"}, {"href": "http://localhost/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30/states", "rel": "self"}, {"href": "http://localhost/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30/volume", "rel": "self"}, {"href": "http://localhost/nodes/7388a27d-5579-4468-9d98-e9f8c56c9e30/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.125594s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits/bad_trait WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-735824e1-e7e3-4ec7-9bc6-8c2b73b3c407 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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' is not valid under any of the given schemas. Possible root cause: 'bad_trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.042781s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1cdadfe-89f4-4b41-8fd8-9d898c8a3a5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.069364s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/dda63089-b705-491d-9325-1faca53de526 WITH [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5deeee33-8bc1-4263-a3c4-af5dc90fba78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.704554s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef849606-b76c-45ed-8b29-76adb062325b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.087850s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/5ae85f02-bc8a-45d5-920b-55774533227c DEBUG util.py:445: Openstack-Request-Id: req-5f5ab5c9-7dfb-4969-8480-d98101b73565 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5ae85f02-bc8a-45d5-920b-55774533227c", "created_at": "2024-03-19T00:20:27.922302+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/5ae85f02-bc8a-45d5-920b-55774533227c", "rel": "self"}, {"href": "http://localhost/volume/connectors/5ae85f02-bc8a-45d5-920b-55774533227c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/volume/connectors/5ae85f02-bc8a-45d5-920b-55774533227c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80bedf06-20cf-4f37-81c2-9008f99c949e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5ae85f02-bc8a-45d5-920b-55774533227c", "created_at": "2024-03-19T00:20:27.922302+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/5ae85f02-bc8a-45d5-920b-55774533227c", "rel": "self"}, {"href": "http://localhost/volume/connectors/5ae85f02-bc8a-45d5-920b-55774533227c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.052159s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.037573s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': 123} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4dd29dc8-e5ac-40fd-bd85-9c881835692f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.037800s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6841d52-ebd4-4762-9756-571fdc83dfda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.202250s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27624b22-3123-417f-a98b-d468c17426d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:27.993563+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} 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.113507s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9da92d38-3819-4638-82d2-a800a8539459 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.060961s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33317659-9862-4b8a-b2f4-bb649610adf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.205242s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/node-57.1 WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a968ca3-3cec-4e9f-acdb-f838e3e7006a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:28.205559+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.065551s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed05f132-0eb0-440b-a264-190d5308098c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.058529s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created 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-c802406e-e72f-4924-8b6c-ad5e56096907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:28.386997+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 WITH {'uuid': '2eddd543-e888-4afd-90a8-fe8f9f14df02', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40244875-fdaf-4917-a000-9e8ad0e540e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.550823s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a065114b-c6cc-4bbc-81ae-46f745f6d74a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.505852s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-4f14a26a-40a9-4075-aca5-26cbcb618e88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:28.370612+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.134404s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/node-57.1.json WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9de6618-0d1e-459c-93bb-37c4eb7454de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:28.375644+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.087709s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created 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-d78d9f62-9135-41bc-b0f9-ad4a347f5ea1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:28.456638+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fdcee81-a6be-4048-b888-7030b48c2371 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:28.456638+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: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.051085s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created 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-f785daf0-3fb9-46bb-8478-a1778d9f7b00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:28.537817+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.109202s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e335a49-5ce2-4c54-b076-c40d3a33bbd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "9b4ad159-26d4-4746-ba3a-49c70f40b833", "created_at": "2024-03-19T00:20:28.517073+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833", "rel": "self"}, {"href": "http://localhost/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833/ports", "rel": "self"}, {"href": "http://localhost/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833/states", "rel": "self"}, {"href": "http://localhost/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833/volume", "rel": "self"}, {"href": "http://localhost/nodes/9b4ad159-26d4-4746-ba3a-49c70f40b833/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.049290s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-c0556e94-6902-4e14-bb84-c7395833a11b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.196192s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/node-39/traits GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-66b709fa-9af8-4360-ade8-1287074146f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.042756s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.050329s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a77085c3-87ae-4668-83cb-c339675ff584 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.112722s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9cfb2d94-af26-41af-a3c5-ed3ae527e6be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "7458e6c7-2c53-47a7-8720-58b21956ee4f", "created_at": "2024-03-19T00:20:28.635406+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f", "rel": "self"}, {"href": "http://localhost/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f/ports", "rel": "self"}, {"href": "http://localhost/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f/states", "rel": "self"}, {"href": "http://localhost/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f/volume", "rel": "self"}, {"href": "http://localhost/nodes/7458e6c7-2c53-47a7-8720-58b21956ee4f/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.129175s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-692a73df-1208-4c7f-8852-7dceb3ac1ed2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.055132s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b46d89d3-dc12-42c4-9259-d2a4ea9b9385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.065317s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/de9e0301-f17a-441e-8ae1-065fa6c56f83 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dc4e7df-fe88-4542-b236-33c23cb0f7fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 \\\"de9e0301-f17a-441e-8ae1-065fa6c56f83\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.061584s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1e99a97-c553-46fc-bf98-9273acca11fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:28.771402+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.050646s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/a491134c-5916-4df5-94a4-5e2d79437f6a WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5edc847-d866-47b6-9a9d-980fe644bfa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.041656s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4460111-1ddf-4f18-8c2c-f5aacb43af26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.067686s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24fa997e-8305-4247-a552-f7f1896b68f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:28.880208+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.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.201115s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/node-39/traits GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-8635a37e-2338-4428-a598-439165bbbf40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.137091s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d658442a-2798-40ef-a09b-ff64f0fa42f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "28a6da69-1729-4ad2-85f7-94de36acacd0", "created_at": "2024-03-19T00:20:28.862928+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0", "rel": "self"}, {"href": "http://localhost/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0/ports", "rel": "self"}, {"href": "http://localhost/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0/states", "rel": "self"}, {"href": "http://localhost/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0/volume", "rel": "self"}, {"href": "http://localhost/nodes/28a6da69-1729-4ad2-85f7-94de36acacd0/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.123486s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f93dff12-2871-487b-81a1-9dfe25da3aea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.090667s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/69f9192f-5d3d-47d0-ace2-987843cd244a WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-daa73aee-e64e-4f71-9f64-b2e864dbad44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 \\\"69f9192f-5d3d-47d0-ace2-987843cd244a\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.107143s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/node-39/traits/CUSTOM_1 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-276a7536-f103-4724-86c8-6b3ae5dc54e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.046901s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/node-39/traits/CUSTOM_1 GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20330597-f095-4b66-b8ec-e4a380665237 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.659543s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-83c0e8fa-2f3c-47b9-95dd-7b3194554694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:29.093608+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.061118s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/node-39/traits/CUSTOM_1 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c48b3861-177b-4699-adef-f5865ad4fb64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.180187s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'value': 100, 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47cb3184-2d80-46a0-a6a5-203cf981b53d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:29.135034+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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.074589s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/node-39/traits/CUSTOM_12 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79f68e60-711d-44ff-b001-9e31edbf3a9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.052109s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-731fc136-7058-4b04-b385-e661e9df2497 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.065418s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ce8503f-4650-4fc3-8a8d-c481b50545fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"traits": ["CUSTOM_1", "CUSTOM_2"]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.133559s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-664c5518-2a10-49d4-9043-10b66f928fe1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.051280s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1aee16a7-1a24-4b78-9d3f-56196555fd12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.367477s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202 WITH [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb4ef270-6794-403e-8666-3d45fa5d7a9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "450c15d2-4751-4608-b3ef-8f4ed0aaf202", "created_at": "2024-03-19T00:20:29.306227+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202", "rel": "self"}, {"href": "http://localhost/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202/ports", "rel": "self"}, {"href": "http://localhost/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202/states", "rel": "self"}, {"href": "http://localhost/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202/volume", "rel": "self"}, {"href": "http://localhost/nodes/450c15d2-4751-4608-b3ef-8f4ed0aaf202/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.061078s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/5797d9fa-72b4-4160-bebd-32377cc05ca0 WITH [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b371a7e1-d151-45aa-bca7-d2c302e6f5e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.061858s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/badname/traits WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9bbfb4d-070d-4a8b-8658-e5eb887156c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.189658s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e0a8dee-6b4b-4337-96d4-bc1754e50a6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.093979s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits WITH {'trait': 'CUSTOM_3'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa52da98-64f7-452d-9a39-aaea5860b7ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: Additional properties are not allowed ('trait' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.128548s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3 WITH [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd596fda-c1b3-482a-99b9-577d2d9ffcc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "3e090746-5ad9-429d-bbde-9348efd9e5b3", "created_at": "2024-03-19T00:20:29.513102+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": true, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3", "rel": "self"}, {"href": "http://localhost/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3/ports", "rel": "self"}, {"href": "http://localhost/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3/states", "rel": "self"}, {"href": "http://localhost/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3/volume", "rel": "self"}, {"href": "http://localhost/nodes/3e090746-5ad9-429d-bbde-9348efd9e5b3/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.080586s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58e8a865-5863-45cb-952e-dfd893beacae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:29.573258+00:00", "updated_at": "2024-03-19T00:20:29.576366+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 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b072d80f-2ce0-4274-a21f-29936a04643b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:29.573258+00:00", "updated_at": "2024-03-19T00:20:29.576366+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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.561576s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '0903d7a7-d329-445e-98a7-b5cd0e9454b0', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-555e8c89-06e3-4282-9460-2e15a4e97082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 0903d7a7-d329-445e-98a7-b5cd0e9454b0 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.058553s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2438883f-e64b-4562-b39a-416f9d719ffe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.126310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6 WITH [{'op': 'remove', 'path': '/protected'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c932f0c1-8a56-44d1-895f-05b8562dba9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "29c2b00b-a420-40fb-a8e6-5dc1bf5028a6", "created_at": "2024-03-19T00:20:29.649347+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6", "rel": "self"}, {"href": "http://localhost/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6/ports", "rel": "self"}, {"href": "http://localhost/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6/states", "rel": "self"}, {"href": "http://localhost/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6/volume", "rel": "self"}, {"href": "http://localhost/nodes/29c2b00b-a420-40fb-a8e6-5dc1bf5028a6/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.188027s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {'traits': ['CUSTOM_3']} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1826722-76d2-4b64-b148-359089d3c7aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.084391s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae23fb34-fa42-4d5b-9fa6-ea4d30c4a1b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.071222s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e3e3ead-eecc-4eb5-9ac5-1af4ef6516a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.134819s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/310df963-dce3-4c20-b862-2783bf4e5b56 WITH [{'path': '/protected', 'value': 'True', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e29bfb4-5ae9-464d-b059-b21abfa9c6d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "310df963-dce3-4c20-b862-2783bf4e5b56", "created_at": "2024-03-19T00:20:29.793008+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/310df963-dce3-4c20-b862-2783bf4e5b56", "rel": "self"}, {"href": "http://localhost/nodes/310df963-dce3-4c20-b862-2783bf4e5b56", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/310df963-dce3-4c20-b862-2783bf4e5b56/ports", "rel": "self"}, {"href": "http://localhost/nodes/310df963-dce3-4c20-b862-2783bf4e5b56/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/310df963-dce3-4c20-b862-2783bf4e5b56/states", "rel": "self"}, {"href": "http://localhost/nodes/310df963-dce3-4c20-b862-2783bf4e5b56/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/310df963-dce3-4c20-b862-2783bf4e5b56/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/310df963-dce3-4c20-b862-2783bf4e5b56/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/310df963-dce3-4c20-b862-2783bf4e5b56/volume", "rel": "self"}, {"href": "http://localhost/nodes/310df963-dce3-4c20-b862-2783bf4e5b56/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.231438s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3df46f16-5f9a-4a04-92db-ee8512869221 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.085596s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6933cf58-f648-479f-8184-36249df4fbe6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.107374s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/8b3c2b63-6c94-4157-8f40-96ffb570a0d9 WITH [{'path': '/protected', 'value': 'YeahNahGood', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0cc547e-91a2-4feb-862d-b1f5912f317b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.084536s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'value': 0, 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91c906b4-1514-4bde-9837-7f5861bec936 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.144382s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c34241e-49ec-4a19-af1d-82674296cb80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.314884s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3']} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-44c56036-3d81-4d50-b8df-9c5683faa8ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.276913s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd WITH [{'path': '/protected', 'value': True, 'op': 'replace'}, {'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bcafbcf-b633-472e-b474-0b375599e0f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "4b5e670f-2598-45a7-bcd6-490322b460bd", "created_at": "2024-03-19T00:20:30.065122+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd", "rel": "self"}, {"href": "http://localhost/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd/ports", "rel": "self"}, {"href": "http://localhost/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd/states", "rel": "self"}, {"href": "http://localhost/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd/volume", "rel": "self"}, {"href": "http://localhost/nodes/4b5e670f-2598-45a7-bcd6-490322b460bd/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.299598s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits WITH {'traits': []} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-c362cf9b-632f-437f-9aba-f4d783af8c00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.129876s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/2f22dba8-79b9-4770-9604-951430fd9f07 WITH [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-213fbb97-5090-4bd4-bb88-90585b3958fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "2f22dba8-79b9-4770-9604-951430fd9f07", "created_at": "2024-03-19T00:20:30.301250+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/2f22dba8-79b9-4770-9604-951430fd9f07", "rel": "self"}, {"href": "http://localhost/nodes/2f22dba8-79b9-4770-9604-951430fd9f07", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2f22dba8-79b9-4770-9604-951430fd9f07/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f22dba8-79b9-4770-9604-951430fd9f07/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2f22dba8-79b9-4770-9604-951430fd9f07/states", "rel": "self"}, {"href": "http://localhost/nodes/2f22dba8-79b9-4770-9604-951430fd9f07/states", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.376822s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48db2d05-4106-4c4e-9760-0b788a4dc6e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:30.310303+00:00", "updated_at": "2024-03-19T00:20:30.321496+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.104279s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/fbdc3d49-7e97-4d8c-b1fb-199360a773a6 WITH [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b7b9ec8-ce42-4f9f-9b03-ff23e1d69a86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "fbdc3d49-7e97-4d8c-b1fb-199360a773a6", "created_at": "2024-03-19T00:20:30.423401+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/fbdc3d49-7e97-4d8c-b1fb-199360a773a6", "rel": "self"}, {"href": "http://localhost/nodes/fbdc3d49-7e97-4d8c-b1fb-199360a773a6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fbdc3d49-7e97-4d8c-b1fb-199360a773a6/ports", "rel": "self"}, {"href": "http://localhost/nodes/fbdc3d49-7e97-4d8c-b1fb-199360a773a6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fbdc3d49-7e97-4d8c-b1fb-199360a773a6/states", "rel": "self"}, {"href": "http://localhost/nodes/fbdc3d49-7e97-4d8c-b1fb-199360a773a6/states", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.063036s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/e30274d2-81b5-4ed2-b36a-eab1ec52f2c6 WITH [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e316ebd7-a0cb-4892-9620-55e98ef19649 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.188447s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92ae85c4-7a84-4f32-9e34-febab95842d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.553598s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1011e4cc-7ce9-4be1-92e8-ba732ab9013d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.097590s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/ec58c61f-57aa-41f4-a989-528b6b381444 WITH [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf416862-67ee-4dd8-adf4-a23900cfb196 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.323257s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': []} 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.113817s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337 WITH [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb8cb977-679c-4980-a6a4-027c8cc8cdf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "598d75fa-e267-4f2b-aa3a-eb07becaf337", "created_at": "2024-03-19T00:20:30.700840+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337", "rel": "self"}, {"href": "http://localhost/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337/ports", "rel": "self"}, {"href": "http://localhost/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337/states", "rel": "self"}, {"href": "http://localhost/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337/volume", "rel": "self"}, {"href": "http://localhost/nodes/598d75fa-e267-4f2b-aa3a-eb07becaf337/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.055250s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/5ef99496-88ec-4d87-bb09-93fdf62af8a5 WITH [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97356676-14b1-4819-8caa-48fab3001f44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.213685s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': 'value1', 'port_id': 'Ethernet1/15', 'switch_foo': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea32ddc3-d2da-499d-a11c-54f192d9e564 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: {'switch_id': 'value1', 'port_id': 'Ethernet1/15', 'switch_foo': 'value3'} is not valid under any of the given schemas. Possible root cause: Additional properties are not allowed ('switch_foo' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.099396s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/357e9c8c-b375-4f28-b319-e3926c923269 WITH [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba0c82e8-e2e8-47ab-9f0d-0c6ab918f733 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "357e9c8c-b375-4f28-b319-e3926c923269", "created_at": "2024-03-19T00:20:30.863208+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": true, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/357e9c8c-b375-4f28-b319-e3926c923269", "rel": "self"}, {"href": "http://localhost/nodes/357e9c8c-b375-4f28-b319-e3926c923269", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/357e9c8c-b375-4f28-b319-e3926c923269/ports", "rel": "self"}, {"href": "http://localhost/nodes/357e9c8c-b375-4f28-b319-e3926c923269/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/357e9c8c-b375-4f28-b319-e3926c923269/states", "rel": "self"}, {"href": "http://localhost/nodes/357e9c8c-b375-4f28-b319-e3926c923269/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/357e9c8c-b375-4f28-b319-e3926c923269/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/357e9c8c-b375-4f28-b319-e3926c923269/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/357e9c8c-b375-4f28-b319-e3926c923269/volume", "rel": "self"}, {"href": "http://localhost/nodes/357e9c8c-b375-4f28-b319-e3926c923269/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.354698s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a958cbd2-68ff-4c88-8261-a60db45a30e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:30.785635+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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.152033s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-02b840a2-0a68-456f-a6bf-dd676cb953e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:30.953079+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8758b8d-2a18-4d9a-a270-96e0735cb7bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:30.953079+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.307060s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3', 'BAD_TRAIT']} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53420013-a96f-4233-a9dd-54c66e440709 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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' is not valid under any of the given schemas. Possible root cause: 'BAD_TRAIT' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.091129s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47 WITH [{'op': 'remove', 'path': '/retired'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efbc5d35-0317-4559-b06d-afd3142b770b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47", "created_at": "2024-03-19T00:20:30.957433+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47", "rel": "self"}, {"href": "http://localhost/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47/ports", "rel": "self"}, {"href": "http://localhost/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47/states", "rel": "self"}, {"href": "http://localhost/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47/volume", "rel": "self"}, {"href": "http://localhost/nodes/4ba74ccd-9e68-4f28-99f1-bcdbfbb19d47/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.071777s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee3ca1ac-ac95-41ea-93e9-5442fee4cb4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.097867s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6be71ac2-2591-4e6f-a350-474ef3d4c6a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.122402s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418 WITH [{'path': '/retired', 'value': True, 'op': 'replace'}, {'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1bf4631e-af86-4d1f-89dd-e3a5aa56b87a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "e74fed96-df75-4d40-bcf1-ab6430a25418", "created_at": "2024-03-19T00:20:31.078008+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418", "rel": "self"}, {"href": "http://localhost/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418/ports", "rel": "self"}, {"href": "http://localhost/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418/states", "rel": "self"}, {"href": "http://localhost/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418/volume", "rel": "self"}, {"href": "http://localhost/nodes/e74fed96-df75-4d40-bcf1-ab6430a25418/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.201557s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None} 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-317ae673-e7b1-4f6d-98ae-dab5810a8fd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:31.176818+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.082251s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-415d3476-fe70-4184-8c9d-9fdae0211bc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:31.159658+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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.216245s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc7ebe36-3642-4ce9-9f69-d70655eb671b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.117048s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'power_state': 'new state'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cdd55984-0a31-411a-bf74-31f93828ea48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: Additional properties are not allowed ('power_state' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.080115s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-055eec97-ccdd-49b9-9b82-6265f491eaaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:31.236383+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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.107593s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-1b243e51-9d67-471f-b0f8-8666ce00163f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:31.274218+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.038590s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.050493s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/8e484a74-b58c-45f6-a2c3-04b30c355087 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9de2ed0-595e-4594-8fd7-68f6d9486af3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 8e484a74-b58c-45f6-a2c3-04b30c355087 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.173798s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57dfbaec-acd4-462b-ba2f-aa3a3cddcb5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_1_values ... SKIPPED: For value storage DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.063100s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3']} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-b6e88ee6-c3cd-4106-8b29-37650163e082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.175894s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None} 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-e06583e1-d4cc-45c3-ab69-7ea9e9216b63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:31.458783+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.021938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.020339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.029830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_2_unauthenticated_user_cannot_get_node [0.149992s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d60b145-e776-449f-b572-8976babe47b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.322115s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d WITH [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afaf88f7-47b2-4522-9377-709625fa7c7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d", "created_at": "2024-03-19T00:20:31.368627+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d", "rel": "self"}, {"href": "http://localhost/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d/ports", "rel": "self"}, {"href": "http://localhost/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d/states", "rel": "self"}, {"href": "http://localhost/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d/volume", "rel": "self"}, {"href": "http://localhost/nodes/d8760a7d-e4a6-4eb4-bd1d-ee99ad0bad9d/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.082508s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/a5bdc05f-b003-46a0-bc96-806c5df46570 WITH [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-838311f9-cef3-46ab-b25d-e3ff308370ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.125479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.032439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_3_project_admin_can_get_node [0.144842s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-116656cb-0277-48d0-9265-6e1ea5d084b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.257244s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebb57335-3cd0-44e3-af2a-94e37be033b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.101162s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/2ad60a70-9e82-4e89-bbf7-311166bb09dc WITH [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32fc3b3e-9b68-4b2d-8c50-3bf0da0d408a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.131154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_4_project_member_cannot_get_node [0.151743s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05220cfe-a996-4875-8ae5-40400927046b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.071497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.180123s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-161dc0ff-ff1f-4d18-92c7-33d5b2f044fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:31.891451+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.158421s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True WITH [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a6d8e14-c4a9-48f7-a3cd-1b7131b77af0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:31.809161+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node-57.1", "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.031253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_5_public_api [0.097955s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-065e013c-e1b4-440f-87ce-964fe53b9c27 DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.90"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.90"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_multi [0.055694s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?shard=shard1,shard2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-003bc03e-d5d5-4f23-943e-bfc95d6dcda5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"ports": [{"uuid": "905c2d49-3597-454d-89a2-f75d0299aed9", "address": "aa:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/905c2d49-3597-454d-89a2-f75d0299aed9", "rel": "self"}, {"href": "http://localhost/ports/905c2d49-3597-454d-89a2-f75d0299aed9", "rel": "bookmark"}]}, {"uuid": "34f72b62-cbc5-48ac-b59a-f05c9450ff88", "address": "ab:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/34f72b62-cbc5-48ac-b59a-f05c9450ff88", "rel": "self"}, {"href": "http://localhost/ports/34f72b62-cbc5-48ac-b59a-f05c9450ff88", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.127831s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4efe4d1d-0a6a-4af2-8b27-8c661b892487 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_single [0.079977s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?shard=test_shard WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33937aaa-01a4-4820-826a-9d0fad52f8e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.82 DEBUG util.py:445: {"ports": [{"uuid": "e0a36eae-d5cf-43e0-b2a7-1eafe49da9fd", "address": "aa:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/e0a36eae-d5cf-43e0-b2a7-1eafe49da9fd", "rel": "self"}, {"href": "http://localhost/ports/e0a36eae-d5cf-43e0-b2a7-1eafe49da9fd", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_6_public_api_v1 [0.041904s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc603eb9-d82b-40c9-83eb-d14b2116926d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.90"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}], "shards": [{"href": "http://localhost/v1/shards/", "rel": "self"}, {"href": "http://localhost/shards/", "rel": "bookmark"}], "continue_inspection": [{"href": "http://localhost/v1/continue_inspection/", "rel": "self"}, {"href": "http://localhost/continue_inspection/", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.062010s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'internal_info': {'a': 'b'}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a5cd016-9581-4021-aa21-be9f87410960 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.184342s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/?limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45752337-928c-4d7b-821a-c7f49b963aac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "2d93386c-2b8e-4041-9d2b-412f0f128725", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/2d93386c-2b8e-4041-9d2b-412f0f128725", "rel": "self"}, {"href": "http://localhost/ports/2d93386c-2b8e-4041-9d2b-412f0f128725", "rel": "bookmark"}]}, {"uuid": "0fcd5a55-5993-491b-b823-95bd678f7be6", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/0fcd5a55-5993-491b-b823-95bd678f7be6", "rel": "self"}, {"href": "http://localhost/ports/0fcd5a55-5993-491b-b823-95bd678f7be6", "rel": "bookmark"}]}, {"uuid": "8eaddd95-48aa-4d8e-b920-5d53a17b5dc5", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/8eaddd95-48aa-4d8e-b920-5d53a17b5dc5", "rel": "self"}, {"href": "http://localhost/ports/8eaddd95-48aa-4d8e-b920-5d53a17b5dc5", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=8eaddd95-48aa-4d8e-b920-5d53a17b5dc5"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_single_fail_api_version [0.089510s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?shard=test_shard WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43db267e-e78b-4d46-8ab6-228cb70f50da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.82\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_7_public_api_v1_slash [0.092092s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec26e198-4286-4cbc-9a96-923bfc5b4e74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.90"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}], "shards": [{"href": "http://localhost/v1/shards/", "rel": "self"}, {"href": "http://localhost/shards/", "rel": "bookmark"}], "continue_inspection": [{"href": "http://localhost/v1/continue_inspection/", "rel": "self"}, {"href": "http://localhost/continue_inspection/", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.030486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_8_public_api_v1_json [0.051867s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1.json WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac36e420-5e65-49ee-8f0a-bd2d8425b85a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.90"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}], "shards": [{"href": "http://localhost/v1/shards/", "rel": "self"}, {"href": "http://localhost/shards/", "rel": "bookmark"}], "continue_inspection": [{"href": "http://localhost/v1/continue_inspection/", "rel": "self"}, {"href": "http://localhost/continue_inspection/", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.129981s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?fields=address,uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14a8607e-12e0-4811-876d-bc9bc9dc87bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "759c4e96-a954-4979-b74d-2f26946ddb43", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/759c4e96-a954-4979-b74d-2f26946ddb43", "rel": "self"}, {"href": "http://localhost/ports/759c4e96-a954-4979-b74d-2f26946ddb43", "rel": "bookmark"}]}, {"uuid": "6928c59d-3955-43ea-a61c-a0202395d233", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/6928c59d-3955-43ea-a61c-a0202395d233", "rel": "self"}, {"href": "http://localhost/ports/6928c59d-3955-43ea-a61c-a0202395d233", "rel": "bookmark"}]}, {"uuid": "552805e5-468d-44c2-b2bb-75870b7fa915", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/552805e5-468d-44c2-b2bb-75870b7fa915", "rel": "self"}, {"href": "http://localhost/ports/552805e5-468d-44c2-b2bb-75870b7fa915", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=552805e5-468d-44c2-b2bb-75870b7fa915"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.149995s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'hostname': 'host1', 'port_id': 'rep0-0'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-eda5f52c-8be1-4f8c-ab41-62a0365a19ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:32.234629+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": true, "local_link_connection": {"hostname": "host1", "port_id": "rep0-0"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_9_public_api_v1_xml [0.091300s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1.xml WITH {} 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_collection_links [0.148004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/?limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd239d77-b6db-4efc-a17b-f79f8ac73785 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "5779eb54-9583-4b85-a992-8d119506a742", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/5779eb54-9583-4b85-a992-8d119506a742", "rel": "self"}, {"href": "http://localhost/portgroups/5779eb54-9583-4b85-a992-8d119506a742", "rel": "bookmark"}]}, {"uuid": "9a0137a8-9a2d-4a5a-9ab2-8cb748be0563", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/9a0137a8-9a2d-4a5a-9ab2-8cb748be0563", "rel": "self"}, {"href": "http://localhost/portgroups/9a0137a8-9a2d-4a5a-9ab2-8cb748be0563", "rel": "bookmark"}]}, {"uuid": "e253fb94-0bb8-4d1d-b561-cff095469f4f", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/e253fb94-0bb8-4d1d-b561-cff095469f4f", "rel": "self"}, {"href": "http://localhost/portgroups/e253fb94-0bb8-4d1d-b561-cff095469f4f", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=e253fb94-0bb8-4d1d-b561-cff095469f4f"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.126113s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3297eadd-248c-4847-9bd0-22ba22047b03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "3dcc27e6-f946-4962-8314-a9691ec85543", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/3dcc27e6-f946-4962-8314-a9691ec85543", "rel": "self"}, {"href": "http://localhost/ports/3dcc27e6-f946-4962-8314-a9691ec85543", "rel": "bookmark"}]}, {"uuid": "a70a5633-6f6f-4517-9cf2-65461b21fa97", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/a70a5633-6f6f-4517-9cf2-65461b21fa97", "rel": "self"}, {"href": "http://localhost/ports/a70a5633-6f6f-4517-9cf2-65461b21fa97", "rel": "bookmark"}]}, {"uuid": "85d3b535-691d-419a-8322-19770f55ff5b", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/85d3b535-691d-419a-8322-19770f55ff5b", "rel": "self"}, {"href": "http://localhost/ports/85d3b535-691d-419a-8322-19770f55ff5b", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=85d3b535-691d-419a-8322-19770f55ff5b"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.107688s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?fields=address,uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-605b1294-ab25-4511-a665-a9abce7c66cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "1ca452b6-0295-4186-b729-a280fba1cf96", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/portgroups/1ca452b6-0295-4186-b729-a280fba1cf96", "rel": "self"}, {"href": "http://localhost/portgroups/1ca452b6-0295-4186-b729-a280fba1cf96", "rel": "bookmark"}]}, {"uuid": "b9808e98-a96c-43e8-aca4-07ce03975083", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/portgroups/b9808e98-a96c-43e8-aca4-07ce03975083", "rel": "self"}, {"href": "http://localhost/portgroups/b9808e98-a96c-43e8-aca4-07ce03975083", "rel": "bookmark"}]}, {"uuid": "a97241ea-35a8-4a49-b2d9-215dd979a481", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/portgroups/a97241ea-35a8-4a49-b2d9-215dd979a481", "rel": "self"}, {"href": "http://localhost/portgroups/a97241ea-35a8-4a49-b2d9-215dd979a481", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=a97241ea-35a8-4a49-b2d9-215dd979a481"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.172390s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-89b5f5de-3d08-4b57-a6b0-c6a1f7a60689 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:32.356962+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.120000s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-995c62e6-ebe5-4abf-9fef-131289b69033 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:32.459063+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": true, "local_link_connection": {"switch_info": "switch", "switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Gig0/1"}, "physical_network": "physnet1", "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.119142s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ab9a5b3-5eea-49d1-808a-0aff28afe12c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.120207s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02884b97-5ccc-4959-bf0b-03f497bfcd5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "8880d29b-aa8c-4633-a59b-0fb478013c67", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/8880d29b-aa8c-4633-a59b-0fb478013c67", "rel": "self"}, {"href": "http://localhost/portgroups/8880d29b-aa8c-4633-a59b-0fb478013c67", "rel": "bookmark"}]}, {"uuid": "90f1179e-4448-42d2-b93f-44a67a525e57", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/90f1179e-4448-42d2-b93f-44a67a525e57", "rel": "self"}, {"href": "http://localhost/portgroups/90f1179e-4448-42d2-b93f-44a67a525e57", "rel": "bookmark"}]}, {"uuid": "2e779dfd-011d-42b3-9692-e9bbcf77ab5f", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/2e779dfd-011d-42b3-9692-e9bbcf77ab5f", "rel": "self"}, {"href": "http://localhost/portgroups/2e779dfd-011d-42b3-9692-e9bbcf77ab5f", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=2e779dfd-011d-42b3-9692-e9bbcf77ab5f"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.097844s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e968716-bb40-4a16-a2ea-ebb5345f63f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_002_owner_admin_cannot_post_nodes [0.158737s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77bef4be-3657-4338-935e-e273e5ee6a3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.067022s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?node=test-node WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a099ab0-756e-4839-82c2-fc07e0ce59be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.142105s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'hostname': 'host'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8f06b98-fb92-42f8-8043-40fc2d9066ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'hostname': 'host'} is not valid under any of the given schemas. Possible root cause: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.060455s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39b2ffbd-f075-43f7-8b24-941e22dde4f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:32.698676+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_003_owner_admin_can_post_nodes [0.117780s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53807155-532c-43e6-86f8-a61153775cde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.110449s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a544b16-1e15-4da7-8a16-844936b62697 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.083318s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d6bcae9-b510-4caf-ae37-b07c0ec9bef6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:32.770091+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_info": "switch", "switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Gig0/1"}, "physical_network": "physnet1", "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.275813s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0b25b24-4255-41dc-92af-5c51c2945381 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:32.735849+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.055333s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-470e169d-fe3e-4048-b64d-5ec0097634a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: GET /v1/ports?detail=False WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6545215e-23a6-45e2-a517-ece726a74804 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_004_service_nodes_cannot_post_nodes [0.130734s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ab87d46-2afc-4948-84ec-ba041c61bca8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.043606s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?sort_key=pxe_enabled WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee9e0a65-f8c5-418a-a8cc-c23e234518ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "f90fad2c-6635-4388-85ed-54d3032fbf60", "created_at": "2024-03-19T00:20:32.891244+00:00", "updated_at": null, "address": "52:54:00:cf:2d:30", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/f90fad2c-6635-4388-85ed-54d3032fbf60", "rel": "self"}, {"href": "http://localhost/ports/f90fad2c-6635-4388-85ed-54d3032fbf60", "rel": "bookmark"}], "portgroup_uuid": null}, {"uuid": "06af0093-ce8f-4053-beba-b4878b52cd3b", "created_at": "2024-03-19T00:20:32.896298+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/06af0093-ce8f-4053-beba-b4878b52cd3b", "rel": "self"}, {"href": "http://localhost/ports/06af0093-ce8f-4053-beba-b4878b52cd3b", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.030217s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?sort_key=pxe_enabled WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-447206b7-4df4-4c44-891b-c96547c3ca1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.035845s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?detail=True&fields=name WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4d288d7-b79b-4e1d-80ff-0e0ecd153f1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.171686s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-134614c2-83a6-4ffe-8c3e-5d2b888ada68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_005_service_nodes_can_post_nodes [0.114054s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-271fcf8b-b936-495b-a200-a6d76119370f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.037868s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?detail=False&fields=internal_info WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30a2d5a8-6301-4d1d-8315-d0f49c8ff1aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.036051s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?detail=True WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91594248-f802-4e92-984b-48890251587c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.033081s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c131bdb-abfc-420e-aaf6-365505d51832 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.136297s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-3ccef3ef-17de-45e8-9d2f-a9f7ae1ab923 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:33.105262+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"network_type": "unmanaged"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_006_owner_manager_cannot_post_nodes [0.120109s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b9cbebe-c77b-4e4a-928d-5fbc09dbd164 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.048705s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d222bbf1-dc24-46e5-8561-be1648551cf9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.079578s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5ac2b6a-baf1-4170-b84b-8a54071d4f68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"ports": [{"uuid": "0b5206c8-62c0-43d3-bcc9-67e19f9039c3", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/0b5206c8-62c0-43d3-bcc9-67e19f9039c3", "rel": "self"}, {"href": "http://localhost/ports/0b5206c8-62c0-43d3-bcc9-67e19f9039c3", "rel": "bookmark"}]}, {"uuid": "9c3ac45d-9924-451f-a3fa-aac4b830204f", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/9c3ac45d-9924-451f-a3fa-aac4b830204f", "rel": "self"}, {"href": "http://localhost/ports/9c3ac45d-9924-451f-a3fa-aac4b830204f", "rel": "bookmark"}]}, {"uuid": "c050acb5-d87a-4235-9630-4956618542e1", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/c050acb5-d87a-4235-9630-4956618542e1", "rel": "self"}, {"href": "http://localhost/ports/c050acb5-d87a-4235-9630-4956618542e1", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.096114s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-296604ed-a144-4e17-a168-04162a4be8d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_007_lessee_admin_cannot_post_nodes [0.122303s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ea1ff0b-dc35-464c-afa1-1639015cff64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.131705s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-a5fd759c-1ae5-4306-a0f9-b03fce310a54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:33.329552+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.497691s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a958521-95f5-481c-a3ba-9a2bbcd61b7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_008_lessee_admin_can_post_nodes [0.123873s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc8e0f5c-f1b8-4522-86ac-3961f63d6baf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_009_lessee_manager_cannot_post_nodes [0.151480s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2e1d2f6-cf51-460b-b449-e71a87dbca09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.309347s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a71ceacf-b48b-4f43-85da-d688398ef4d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"ports": []} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.256854s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail?node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f0883f0-12b6-4dae-a3f2-1f51d5705c1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:33.554628+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.269089s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a3b0cbc-ed63-4858-8987-383dbceb42cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_010_lessee_manager_can_post_nodes [0.119798s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81279731-2df9-4ed8-9043-bc62e1019b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.065718s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.174189s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?node=test-node WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65c5ca3f-e345-47dc-9894-aabe1b98d32c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_011_third_party_admin_cannot_post_nodes [0.106663s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75a11ed0-a3da-4f10-a176-2413b35a0ea8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.125136s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c260bbd-e55a-45a3-b932-cce19a0421e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.110801s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-292e6c44-6b40-4039-b74f-b8f7f6483752 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:33.751231+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_012_third_party_admin_can_post_nodes [0.133997s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a805eb1-14fa-4196-8273-6a18570c16c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.180309s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecfb28d2-ac44-4a2a-86d4-d2958161c721 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"ports": [{"uuid": "5a584f9a-c372-4081-af00-d3ea38a8ad96", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/5a584f9a-c372-4081-af00-d3ea38a8ad96", "rel": "self"}, {"href": "http://localhost/ports/5a584f9a-c372-4081-af00-d3ea38a8ad96", "rel": "bookmark"}]}, {"uuid": "b8f07a04-5001-45bf-87e6-6aed6470f348", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/b8f07a04-5001-45bf-87e6-6aed6470f348", "rel": "self"}, {"href": "http://localhost/ports/b8f07a04-5001-45bf-87e6-6aed6470f348", "rel": "bookmark"}]}, {"uuid": "60d08f47-c6eb-4f69-b3fd-474a50a26cf5", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/60d08f47-c6eb-4f69-b3fd-474a50a26cf5", "rel": "self"}, {"href": "http://localhost/ports/60d08f47-c6eb-4f69-b3fd-474a50a26cf5", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.167941s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34780c95-d1e0-4bf0-82c9-832ccfea4d8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.174855s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58cdcbf8-2efd-485f-9712-60aaf73b6fd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: GET /v1/portgroups?detail=False WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21962aa9-93b7-46a3-bc25-c7aee80de3a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_013_owner_member_cannot_post_nodes [0.108021s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e122305b-c684-4bf0-a96c-5935a57c691d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.062972s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail?sort_key=mode WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df54336e-2df7-423b-8265-b64dcb9e3940 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "d8ee7c59-12a4-4014-911f-2860dc913dc7", "created_at": "2024-03-19T00:20:34.004592+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "mode_1", "name": "portgroup1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/d8ee7c59-12a4-4014-911f-2860dc913dc7", "rel": "self"}, {"href": "http://localhost/portgroups/d8ee7c59-12a4-4014-911f-2860dc913dc7", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/d8ee7c59-12a4-4014-911f-2860dc913dc7/ports", "rel": "self"}, {"href": "http://localhost/portgroups/d8ee7c59-12a4-4014-911f-2860dc913dc7/ports", "rel": "bookmark"}]}, {"uuid": "6d8bdadf-39b3-4a51-8bfc-7d471372d7a5", "created_at": "2024-03-19T00:20:34.000605+00:00", "updated_at": null, "address": "52:54:00:cf:2d:32", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "mode_2", "name": "portgroup2", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6d8bdadf-39b3-4a51-8bfc-7d471372d7a5", "rel": "self"}, {"href": "http://localhost/portgroups/6d8bdadf-39b3-4a51-8bfc-7d471372d7a5", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6d8bdadf-39b3-4a51-8bfc-7d471372d7a5/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6d8bdadf-39b3-4a51-8bfc-7d471372d7a5/ports", "rel": "bookmark"}]}, {"uuid": "77f4af23-88f2-4ca0-a121-f50ceb9f6601", "created_at": "2024-03-19T00:20:33.996309+00:00", "updated_at": null, "address": "52:54:00:cf:2d:33", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "mode_3", "name": "portgroup3", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/77f4af23-88f2-4ca0-a121-f50ceb9f6601", "rel": "self"}, {"href": "http://localhost/portgroups/77f4af23-88f2-4ca0-a121-f50ceb9f6601", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/77f4af23-88f2-4ca0-a121-f50ceb9f6601/ports", "rel": "self"}, {"href": "http://localhost/portgroups/77f4af23-88f2-4ca0-a121-f50ceb9f6601/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.148997s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f3ed756-a4e5-4ab4-904c-36b3e6eedd99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:33.966174+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.070025s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail?sort_key=mode WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0914d725-526f-43fa-8821-5b9c7f870e76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_014_owner_reader_cannot_post_reader [0.134337s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-249eddb3-6dfa-4cdf-a100-24a0c5b05d42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.222819s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} 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-1c76889c-3be0-4ee6-a065-5588adea6f70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:34.081031+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.097860s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?detail=True&fields=name WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8dc46310-1d16-4e9f-84f0-4808f5d0355a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_015_owner_admin_can_get_node [0.080994s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d376bc7f-aae0-480d-8928-68fb065b3410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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": "c53074c0-5298-4077-9871-6023e42ec0d4", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.081787s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-242fa0d8-e0cd-4e14-bb2b-4bfbb5ae4281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.065190s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?detail=False&fields=internal_info WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea66d4bb-1515-4dd7-92ba-3d5465225e3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.034996s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?detail=True WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1ac4332-abd1-41cc-890b-845bbd9cd86d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_016_owner_manager_can_get_node [0.091680s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b687cd0-bdd4-4108-b356-84e3328fa2e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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": "1b907512-a992-4292-b6c4-9548fab81eaf", "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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.310704s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?portgroup=fooname WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8fbe445-e091-4cc4-962f-344c74ee35e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:34.258928+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.052192s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e3d6c79-4875-4d6e-8ae6-1bfbc06f50ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_017_owner_member_can_get_node [0.085711s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a86c508-c686-4417-8802-4ac27060999e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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": "517b8349-4f50-49a3-a2b7-578a9e534858", "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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.050226s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-632e2c9a-9552-4b11-a2d7-aabb9d2af4c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:34.373118+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.150943s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/52:54:00:cf:2d:31 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.068773s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45c08a0d-9459-4720-a474-e2eab06792b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "20bb9992-3a83-4a58-9d18-da26a27ebe6c", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/20bb9992-3a83-4a58-9d18-da26a27ebe6c", "rel": "self"}, {"href": "http://localhost/portgroups/20bb9992-3a83-4a58-9d18-da26a27ebe6c", "rel": "bookmark"}]}, {"uuid": "fb8da4cf-4a8a-4075-a5fc-2e1d349e3394", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/fb8da4cf-4a8a-4075-a5fc-2e1d349e3394", "rel": "self"}, {"href": "http://localhost/portgroups/fb8da4cf-4a8a-4075-a5fc-2e1d349e3394", "rel": "bookmark"}]}, {"uuid": "3197bec7-ba49-41f4-a8e2-2636fa6b5c32", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/3197bec7-ba49-41f4-a8e2-2636fa6b5c32", "rel": "self"}, {"href": "http://localhost/portgroups/3197bec7-ba49-41f4-a8e2-2636fa6b5c32", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.040037s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4&node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13e90157-0458-4f15-b9c1-67cd33122bec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_018_owner_reader_can_get_node [0.101699s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59501416-0ad7-4469-9330-b44878bfe74d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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": "385ec38f-d374-419c-a518-e42f21bde92e", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.085063s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3866097-5e7b-4fdd-8fab-bf4f7dbe1747 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:34.482773+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.095553s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-588dab7b-b5b5-4015-823e-228c33f21266 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:34.501317+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.074687s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f20c053-c21c-4af2-b16d-e30bbcbd556e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.049098s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24c3c9c3-78d2-499d-926b-13d9eda4822d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"ports": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_019_lessee_admin_can_get_node [0.092427s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad21d509-38cc-4957-9f45-f7fdd42d3cd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "90a03401-990b-4929-b50e-94f75ca872a9", "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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.052334s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2e2be1c-2fa7-4fc8-a23a-d9e1f9e56f1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_020_lessee_manager_can_get_node [0.077775s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce67590f-7884-4330-a7a3-77500f224952 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "8869cb89-78f3-4b71-8d4f-8b706f79adef", "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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.056402s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?fields=uuid,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-600319aa-c3cb-4291-95f5-56bfa74d9f1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "e86f6a92-8ab2-4168-806b-239901ab1635", "extra": {}, "links": [{"href": "http://localhost/v1/ports/e86f6a92-8ab2-4168-806b-239901ab1635", "rel": "self"}, {"href": "http://localhost/ports/e86f6a92-8ab2-4168-806b-239901ab1635", "rel": "bookmark"}]}, {"uuid": "8a33b540-d2e8-49f2-9676-fdb8c974c408", "extra": {}, "links": [{"href": "http://localhost/v1/ports/8a33b540-d2e8-49f2-9676-fdb8c974c408", "rel": "self"}, {"href": "http://localhost/ports/8a33b540-d2e8-49f2-9676-fdb8c974c408", "rel": "bookmark"}]}, {"uuid": "0e270d61-385d-4f93-a44a-0b29441ab3c1", "extra": {}, "links": [{"href": "http://localhost/v1/ports/0e270d61-385d-4f93-a44a-0b29441ab3c1", "rel": "self"}, {"href": "http://localhost/ports/0e270d61-385d-4f93-a44a-0b29441ab3c1", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.115996s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?fields=uuid,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afaa246e-c093-4145-abfc-3b99f23528e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "200d391b-720f-42f2-a3a6-669d170923c0", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/200d391b-720f-42f2-a3a6-669d170923c0", "rel": "self"}, {"href": "http://localhost/portgroups/200d391b-720f-42f2-a3a6-669d170923c0", "rel": "bookmark"}]}, {"uuid": "e2911cb7-b933-4ce0-9b7f-7eed0498d77c", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/e2911cb7-b933-4ce0-9b7f-7eed0498d77c", "rel": "self"}, {"href": "http://localhost/portgroups/e2911cb7-b933-4ce0-9b7f-7eed0498d77c", "rel": "bookmark"}]}, {"uuid": "d7ed2407-04c1-45a3-9ab1-07edb4b7fa0d", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/d7ed2407-04c1-45a3-9ab1-07edb4b7fa0d", "rel": "self"}, {"href": "http://localhost/portgroups/d7ed2407-04c1-45a3-9ab1-07edb4b7fa0d", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_021_lessee_member_can_get_node [0.087758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9f9663b-0bd8-42ff-955b-a56a3b4b9ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "bbb963ea-20a1-4616-9d0a-b57471df8ed5", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.062721s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?fields=address&limit=2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-477da000-f74f-4b0e-9a0f-f9cb9d869389 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/portgroups/21215857-00bf-44c8-99cd-551e1bf8bdfc", "rel": "self"}, {"href": "http://localhost/portgroups/21215857-00bf-44c8-99cd-551e1bf8bdfc", "rel": "bookmark"}]}, {"address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/portgroups/7c2adbd5-8156-410a-a115-b54a87564ec3", "rel": "self"}, {"href": "http://localhost/portgroups/7c2adbd5-8156-410a-a115-b54a87564ec3", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=7c2adbd5-8156-410a-a115-b54a87564ec3"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.107310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?fields=address&limit=2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4b42e35-8dce-416f-ab13-7306a4626cfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/09fad5cc-ade6-46ed-93ee-cdbcf7c7c1b8", "rel": "self"}, {"href": "http://localhost/ports/09fad5cc-ade6-46ed-93ee-cdbcf7c7c1b8", "rel": "bookmark"}]}, {"address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/a6a5ad25-6b19-45ca-a19b-12b1bfa80492", "rel": "self"}, {"href": "http://localhost/ports/a6a5ad25-6b19-45ca-a19b-12b1bfa80492", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=a6a5ad25-6b19-45ca-a19b-12b1bfa80492"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.044417s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/?fields=address,properties WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8532427e-9348-4ccd-bb07-7b71110c8ddf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_022_lessee_reader_can_get_node [0.081832s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd1583e2-f077-4134-85e0-3ad9c2ad995c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "d4fb7714-cc4b-46b5-b30e-ecfe60606d46", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.050672s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3051bfb4-55f0-4362-a26e-8d3425314348 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.103406s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ed7321b-7fc2-4c37-8dc3-22f7c633dab0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.062320s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c4110ff-15b7-43f0-892f-6f74f53422f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:34.897023+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.044887s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96a9f82a-01b1-49c5-9b6b-9288b74ad612 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.575600s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-6b7af17b-13b5-40b9-b668-d00b303efd39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.040787s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.117513s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2b27a45-551c-4ec2-b912-f5013ededa3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.148534s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/pg.1 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-c8c45302-7e63-455e-848b-4384670cc94e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.110540s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a793a94-09f9-4b58-9f5a-1b91cfb398de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-554ded33-0176-4a1c-95d6-cdaea8c4b865 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.53 DEBUG util.py:445: {"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: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.038207s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/blah GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80a53744-0f94-4e33-b6c4-06de143205c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.082295s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ad5ed4e-967d-4ea6-9a77-27c00a8adb11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33299b4c-b20e-4bcc-bfb4-87f9b94d4ef9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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", "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: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.052384s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/pg.1.json GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-6015b52b-dd61-4cd3-9ca7-c836e073ca4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.043669s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.048935s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82de794f-e016-4765-af69-3db5d081d064 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.069242s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0c230ba-1fba-470f-8f4b-19d852ab7338 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.308487+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.082075s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7131b8f6-ea33-411a-b727-c3e82b87cd9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_023_third_party_admin_cannot_get_node [0.523275s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f582a2c-0d64-40a9-b43c-90eb5bff090c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.076670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d629042-ea28-4ad9-a63f-4bb896bf1fec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.410516s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5cc05a1-23fc-4a74-b91b-e069806acdc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_inspector_compatibility [0.060095s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dc89165-ee2b-4b73-b660-4f9eeed76a43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "2ab6f728-6443-492b-b29b-97d93f236e3f"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_invalid_schema [0.044457s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42'}, 'test': 42} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1bfb8614-75a5-4ed5-9c06-857aef567f77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for data: 'interfaces' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.049120s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccc2ebc5-46c4-4bdb-ac7b-98f61e74e31c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.441403+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.050601s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cab04de-e09c-4e6c-9a0d-9db29f9df86b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.483752+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16fceb72-fc07-4f27-af5d-fdb0e41ec852 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.19 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.483752+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_info": "switch", "switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Gig0/1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.117703s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5157e42-f036-4e0d-a6fe-dd1da82a1d57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:35.497270+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_new_api [0.081550s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85c05a68-aaaf-42be-800b-59dd78048f49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "fdfbd9f8-3451-41f9-bc23-a49f8fbeb699", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value"}, "links": [{"href": "http://localhost/v1/nodes/fdfbd9f8-3451-41f9-bc23-a49f8fbeb699", "rel": "self"}, {"href": "http://localhost/nodes/fdfbd9f8-3451-41f9-bc23-a49f8fbeb699", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "noop", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": null, "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_024_owner_reader_can_get_their_node [0.208511s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a87f4025-e8a1-4273-8558-98d51456c371 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-19T00:20:35.434184+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_no_usable_lookup_data [0.050622s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'interfaces': [{'mac_address': 'meow'}]}, 'test': 42} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9217af0-ce57-4591-ad85-407a5dada352 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No lookup information provided\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.091353s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f555ce8-7431-494c-b2ad-40cdeb4fe635 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.548365+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24d3d33a-293a-4ed1-95c9-423093076831 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.548365+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"foo": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_old_api_version [0.047851s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22ed511d-68be-4f84-a242-a9793a4cb01d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.83 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"API version 1.84 or newer is required\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.105472s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d4f6137-1594-4ecc-9171-470c42a1f5e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:35.609409+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.json", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.076004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7935e529-3993-4df4-892c-2242e4b56ba8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.652491+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6759ab51-20e9-4548-9467-08fd53f8788a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.53 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.652491+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.067645s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'invalid_state', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fb1ddb0-4a03-456a-ab5e-12b7e88b69c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.064323s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url2'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2dc9dbce-0711-4be4-885a-562f6ea507e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_ovn_vtep [0.091695s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-001a6f69-6d8f-4e7c-ab5b-35cc2f924244 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.724694+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04b1bbbf-0ed1-429f-be4e-013fcd9b6a16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.89 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.724694+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb79ab7a-c8fa-4af8-86e1-d23c933cc4af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.724694+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"port_id": "42", "vtep-logical-switch": "lswitch", "vtep-physical-switch": "jswitch"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_025_owner_reader_cannot_get_other_node [0.211868s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78088526-240d-4c0b-a6eb-831e1a4e101a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.159472s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bdc419e-9e16-458e-8ed3-67749c48e24f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:35.747441+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.036088s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/0619b470-b0cd-4b79-a6a4-78c03a78c1af WITH {'callback_url': 'url'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3ba99a0-8117-405d-9111-4db346a6864e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 0619b470-b0cd-4b79-a6a4-78c03a78c1af could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.046720s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'x'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-0cde0055-c436-4201-a568-0ca35572572c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.073130s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b3506ac-4d27-45fa-a712-110d83e09852 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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-c02d7f33c781", "created_at": "2024-03-19T00:20:35.818773+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa4e4ae3-10c1-4ec6-9b07-25964072964d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.818773+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.040296s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc2ecb1f-090d-4bfb-a73e-c3fddfa44233 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.878436+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.047085s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'start', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-ef00e787-9358-465a-b9f0-151111b2b6ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.037810s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'abcdef1'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-c57de9e9-4e7f-4525-849c-73f456436617 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.174260s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65a4ccdd-6699-41c7-b731-b385c55a2f79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b3bf11f1-af55-4c54-bd61-452978ea5755", "created_at": "2024-03-19T00:20:35.871662+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755", "rel": "self"}, {"href": "http://localhost/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5f485f4-8fda-46e2-ae83-5403fd9e97c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b3bf11f1-af55-4c54-bd61-452978ea5755", "created_at": "2024-03-19T00:20:35.871662+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755", "rel": "self"}, {"href": "http://localhost/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e5cab68-3bb7-403d-b6b0-e352b600d18c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b3bf11f1-af55-4c54-bd61-452978ea5755", "created_at": "2024-03-19T00:20:35.871662+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755", "rel": "self"}, {"href": "http://localhost/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b3bf11f1-af55-4c54-bd61-452978ea5755/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.036810s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-27b9c5c3-3369-4641-b7d0-5d5937ab671e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_026_lessee_reader_can_get_their_node [0.209663s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96c1a375-e2c2-4144-88a6-36aa8a7444ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-19T00:20:35.885299+00:00", "updated_at": "2024-03-19T00:20:35.907317+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "4a7af039-c8c2-47df-832f-ee211a3eb2b1", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "4a7af039-c8c2-47df-832f-ee211a3eb2b1", "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.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.104604s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30e8934f-7c9f-40eb-be2e-6a8b88c3298c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.928428+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e3918df-507a-4328-859c-c91f251ca899 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:35.928428+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.047415s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_version': '1.4.1', 'agent_token': 'meow'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-f2cd3a7a-176b-4cac-b3fa-29664ffcfbf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.038875s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/test.1 WITH {'callback_url': 'url', 'agent_token': 'token'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-e1c34929-fde6-4e4a-8cde-97c35dfb4800 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.093726s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/9c1ebf4e-74d8-4321-a046-34b724768a4f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3773be20-7ef3-4502-b9c1-042eb2de3acc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9c1ebf4e-74d8-4321-a046-34b724768a4f", "created_at": "2024-03-19T00:20:36.036628+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/9c1ebf4e-74d8-4321-a046-34b724768a4f", "rel": "self"}, {"href": "http://localhost/ports/9c1ebf4e-74d8-4321-a046-34b724768a4f", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/ports/9c1ebf4e-74d8-4321-a046-34b724768a4f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68619c0a-24b6-4d50-85b7-3a2b67cdfad6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9c1ebf4e-74d8-4321-a046-34b724768a4f", "created_at": "2024-03-19T00:20:36.036628+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/9c1ebf4e-74d8-4321-a046-34b724768a4f", "rel": "self"}, {"href": "http://localhost/ports/9c1ebf4e-74d8-4321-a046-34b724768a4f", "rel": "bookmark"}]} DEBUG util.py:445: GET /ports/9c1ebf4e-74d8-4321-a046-34b724768a4f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-939accec-1fcb-428f-ad9e-916efefa5a17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9c1ebf4e-74d8-4321-a046-34b724768a4f", "created_at": "2024-03-19T00:20:36.036628+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/9c1ebf4e-74d8-4321-a046-34b724768a4f", "rel": "self"}, {"href": "http://localhost/ports/9c1ebf4e-74d8-4321-a046-34b724768a4f", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.035461s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json WITH {'callback_url': 'url', 'agent_token': 'maybe some magic'} GOT Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-df843c32-b936-418f-a003-06974bdb0f8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.130709s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf24c43c-30d7-4871-9064-1e71662957bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "60114d31-d661-429d-b1ea-770bb055e358", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/60114d31-d661-429d-b1ea-770bb055e358", "rel": "self"}, {"href": "http://localhost/portgroups/60114d31-d661-429d-b1ea-770bb055e358", "rel": "bookmark"}]}, {"uuid": "3f6b0da0-5ac1-4ee8-b8e9-36a5a394588d", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/3f6b0da0-5ac1-4ee8-b8e9-36a5a394588d", "rel": "self"}, {"href": "http://localhost/portgroups/3f6b0da0-5ac1-4ee8-b8e9-36a5a394588d", "rel": "bookmark"}]}, {"uuid": "9068e725-9f2e-4040-9cbf-e8988dacc7df", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/9068e725-9f2e-4040-9cbf-e8988dacc7df", "rel": "self"}, {"href": "http://localhost/portgroups/9068e725-9f2e-4040-9cbf-e8988dacc7df", "rel": "bookmark"}]}, {"uuid": "5b48e62f-d2b4-459a-9582-d3dd61f9170d", "address": "52:54:00:cf:2d:33", "name": "portgroup3", "links": [{"href": "http://localhost/v1/portgroups/5b48e62f-d2b4-459a-9582-d3dd61f9170d", "rel": "self"}, {"href": "http://localhost/portgroups/5b48e62f-d2b4-459a-9582-d3dd61f9170d", "rel": "bookmark"}]}, {"uuid": "e3c9fbde-d1f6-4394-9103-d5467abc0907", "address": "52:54:00:cf:2d:34", "name": "portgroup4", "links": [{"href": "http://localhost/v1/portgroups/e3c9fbde-d1f6-4394-9103-d5467abc0907", "rel": "self"}, {"href": "http://localhost/portgroups/e3c9fbde-d1f6-4394-9103-d5467abc0907", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.038462s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37a5bd34-10c0-4932-9cea-57ba38ba8478 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_027_lessee_reader_cant_get_other_node [0.162362s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49d8d22c-f292-4216-bed3-897037a59d3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.035827s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_version': '1.4.1'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69653f7b-a1fb-4728-bd47-7d4dab4ca99f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.032969s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41570c38-8645-4dbd-a9a1-529109e819ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.103249s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c91f64a-af4b-46a4-b529-eda34f235710 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.027343s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/af1dc0db-5c21-461f-baf6-a9db9ee368d5 WITH {'callback_url': 'url'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11f158c3-59d9-46f0-86c5-a270e49ccde6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.018810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.020333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.186213s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/d0f0b86e-36f9-47d2-933b-7f90ec555786 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e57b37a-b18f-4194-a8df-3776d53b9c37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d0f0b86e-36f9-47d2-933b-7f90ec555786", "created_at": "2024-03-19T00:20:36.200711+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://foo/v1/ports/d0f0b86e-36f9-47d2-933b-7f90ec555786", "rel": "self"}, {"href": "http://foo/ports/d0f0b86e-36f9-47d2-933b-7f90ec555786", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/ports/d0f0b86e-36f9-47d2-933b-7f90ec555786 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff02da15-35b5-4533-b543-f34fe7fbaaa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d0f0b86e-36f9-47d2-933b-7f90ec555786", "created_at": "2024-03-19T00:20:36.200711+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://foo/v1/ports/d0f0b86e-36f9-47d2-933b-7f90ec555786", "rel": "self"}, {"href": "http://foo/ports/d0f0b86e-36f9-47d2-933b-7f90ec555786", "rel": "bookmark"}]} DEBUG util.py:445: GET /ports/d0f0b86e-36f9-47d2-933b-7f90ec555786 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec772f1c-42d7-4554-bee5-24798f20be4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d0f0b86e-36f9-47d2-933b-7f90ec555786", "created_at": "2024-03-19T00:20:36.200711+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://foo/v1/ports/d0f0b86e-36f9-47d2-933b-7f90ec555786", "rel": "self"}, {"href": "http://foo/ports/d0f0b86e-36f9-47d2-933b-7f90ec555786", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.020934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.019870s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.132670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?address=aa:bb:cc:dd:ee:f1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37d4a170-535d-4bbb-be90-29eb3435c9a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "ed02906c-9a49-43a4-bfcb-39ef3c3a2041", "address": "aa:bb:cc:dd:ee:f1", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/ed02906c-9a49-43a4-bfcb-39ef3c3a2041", "rel": "self"}, {"href": "http://localhost/portgroups/ed02906c-9a49-43a4-bfcb-39ef3c3a2041", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.020191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.018990s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.019098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.042758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?address=invalid-mac-format WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32b4d50c-99ad-4670-b8d1-114a6af27460 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.018464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_028_third_party_admin_cant_get_node [0.248929s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6eaeb582-3705-46a6-a41d-386a6f717cac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.041495s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?address=aa:bb:cc:dd:ee:ff WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-059dd7bb-868d-4347-9680-f9855f23fac8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": []} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.150476s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd33f4a1-c92b-4d64-a3d0-2f53dca47d6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.038566s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c3fc9f2-73c5-4898-95f0-202eaaf59426 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.129495s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68f3db53-0c33-4f9c-a4ea-bacf0b53e6ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.198104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.137632s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/b0b86c15-a98b-487a-b360-24d560566370/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-813b2573-f5b1-4e68-b01e-ad5f2f6df311 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "d25bfcb5-3794-4b6a-a386-512155000ed8", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/d25bfcb5-3794-4b6a-a386-512155000ed8", "rel": "self"}, {"href": "http://localhost/ports/d25bfcb5-3794-4b6a-a386-512155000ed8", "rel": "bookmark"}]}, {"uuid": "f28215ab-d576-433e-874f-521d313bf64f", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/f28215ab-d576-433e-874f-521d313bf64f", "rel": "self"}, {"href": "http://localhost/ports/f28215ab-d576-433e-874f-521d313bf64f", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/portgroups/b0b86c15-a98b-487a-b360-24d560566370/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f7080ba-bb5a-4196-a621-0983510c306a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "d25bfcb5-3794-4b6a-a386-512155000ed8", "created_at": "2024-03-19T00:20:36.494097+00:00", "updated_at": null, "address": "52:54:00:cf:2d:30", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/d25bfcb5-3794-4b6a-a386-512155000ed8", "rel": "self"}, {"href": "http://localhost/ports/d25bfcb5-3794-4b6a-a386-512155000ed8", "rel": "bookmark"}], "portgroup_uuid": "b0b86c15-a98b-487a-b360-24d560566370"}, {"uuid": "f28215ab-d576-433e-874f-521d313bf64f", "created_at": "2024-03-19T00:20:36.498692+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/f28215ab-d576-433e-874f-521d313bf64f", "rel": "self"}, {"href": "http://localhost/ports/f28215ab-d576-433e-874f-521d313bf64f", "rel": "bookmark"}], "portgroup_uuid": "b0b86c15-a98b-487a-b360-24d560566370"}]} DEBUG util.py:445: GET /v1/portgroups/b0b86c15-a98b-487a-b360-24d560566370/ports?limit=1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a50837e-dcd1-41ed-94e9-7b0fb77cf3fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "d25bfcb5-3794-4b6a-a386-512155000ed8", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/d25bfcb5-3794-4b6a-a386-512155000ed8", "rel": "self"}, {"href": "http://localhost/ports/d25bfcb5-3794-4b6a-a386-512155000ed8", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=d25bfcb5-3794-4b6a-a386-512155000ed8"} DEBUG util.py:445: GET /v1/portgroups/b0b86c15-a98b-487a-b360-24d560566370/ports/3f79c86b-3d2a-457a-8423-ad3e011abb6d WITH {} 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/b0b86c15-a98b-487a-b360-24d560566370/ports/3ab84055-f63f-4937-acba-a1755f9517b3 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f25b6f32-e116-46dd-85b4-5775fe305cb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.022028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.019396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.021599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.058800s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/d3fad612-4214-467b-9260-66a7660c404d/ports WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.027355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.022623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.051171s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.021712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.180198s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4f85b19-7f88-4baa-b228-e130a538cefb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "25932f25-e6ec-4df7-8ae9-6f497a39e631", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/25932f25-e6ec-4df7-8ae9-6f497a39e631", "rel": "self"}, {"href": "http://localhost/ports/25932f25-e6ec-4df7-8ae9-6f497a39e631", "rel": "bookmark"}]}, {"uuid": "b476de50-f183-4764-8682-f0e3607e63b4", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/b476de50-f183-4764-8682-f0e3607e63b4", "rel": "self"}, {"href": "http://localhost/ports/b476de50-f183-4764-8682-f0e3607e63b4", "rel": "bookmark"}]}, {"uuid": "92577a62-dd9a-4c5c-9a19-c7f11b0cc373", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/92577a62-dd9a-4c5c-9a19-c7f11b0cc373", "rel": "self"}, {"href": "http://localhost/ports/92577a62-dd9a-4c5c-9a19-c7f11b0cc373", "rel": "bookmark"}]}, {"uuid": "ced35faa-4353-4933-afd8-e5fcbc3badb1", "address": "52:54:00:cf:2d:33", "links": [{"href": "http://localhost/v1/ports/ced35faa-4353-4933-afd8-e5fcbc3badb1", "rel": "self"}, {"href": "http://localhost/ports/ced35faa-4353-4933-afd8-e5fcbc3badb1", "rel": "bookmark"}]}, {"uuid": "7d18f348-1354-44b2-aba6-1fdc1c3e0f8c", "address": "52:54:00:cf:2d:34", "links": [{"href": "http://localhost/v1/ports/7d18f348-1354-44b2-aba6-1fdc1c3e0f8c", "rel": "self"}, {"href": "http://localhost/ports/7d18f348-1354-44b2-aba6-1fdc1c3e0f8c", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.028488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.019061s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.071840s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88cc33d9-3829-4f4b-b5f5-e893dd978355 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.024057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.020976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.025490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.065561s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?sort_key=uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0872f809-ab17-4f34-b8ec-b7db3e7c748f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "52a2a431-e292-4ea0-a113-9dfeb040010a", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/52a2a431-e292-4ea0-a113-9dfeb040010a", "rel": "self"}, {"href": "http://localhost/portgroups/52a2a431-e292-4ea0-a113-9dfeb040010a", "rel": "bookmark"}]}, {"uuid": "662377af-56d0-4eea-a376-b0b95f3e0466", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/662377af-56d0-4eea-a376-b0b95f3e0466", "rel": "self"}, {"href": "http://localhost/portgroups/662377af-56d0-4eea-a376-b0b95f3e0466", "rel": "bookmark"}]}, {"uuid": "70172798-c4fa-4e6b-b8fd-e70648a87c49", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/70172798-c4fa-4e6b-b8fd-e70648a87c49", "rel": "self"}, {"href": "http://localhost/portgroups/70172798-c4fa-4e6b-b8fd-e70648a87c49", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.029316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.023588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.181600s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-032c99a2-14c4-4e8b-8ea6-2dad45b6d926 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "32a10744-0618-41c4-85cd-87be221833cf", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/32a10744-0618-41c4-85cd-87be221833cf", "rel": "self"}, {"href": "http://localhost/ports/32a10744-0618-41c4-85cd-87be221833cf", "rel": "bookmark"}]}, {"uuid": "14a51355-67e3-4674-9b60-cf7eff0bfc06", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/14a51355-67e3-4674-9b60-cf7eff0bfc06", "rel": "self"}, {"href": "http://localhost/ports/14a51355-67e3-4674-9b60-cf7eff0bfc06", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.073818s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?sort_key=mode WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a99bf208-f54a-4f14-90a3-e75cf275e7ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "48116b47-1cf0-42e1-874c-a0885932dd44", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/48116b47-1cf0-42e1-874c-a0885932dd44", "rel": "self"}, {"href": "http://localhost/portgroups/48116b47-1cf0-42e1-874c-a0885932dd44", "rel": "bookmark"}]}, {"uuid": "152552bf-ef3b-417d-b469-c0e67973de22", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/152552bf-ef3b-417d-b469-c0e67973de22", "rel": "self"}, {"href": "http://localhost/portgroups/152552bf-ef3b-417d-b469-c0e67973de22", "rel": "bookmark"}]}, {"uuid": "499adcbd-d3d5-4a79-9349-5fe3ee02d0c6", "address": "52:54:00:cf:2d:33", "name": "portgroup3", "links": [{"href": "http://localhost/v1/portgroups/499adcbd-d3d5-4a79-9349-5fe3ee02d0c6", "rel": "self"}, {"href": "http://localhost/portgroups/499adcbd-d3d5-4a79-9349-5fe3ee02d0c6", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.030485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.023765s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.044960s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?sort_key=foo WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99f44cfd-bd67-4f2b-9a29-047ca8787df9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f7d3e07-a16c-4de3-b6d9-61cd34960151 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43f58b72-28f6-4272-9da3-f9aea7c2a887 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5dfac009-2fb7-4c81-8afb-3e3588af665c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.024687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.026192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.038736s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups?sort_key=mode WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c9bd503-d751-49d1-8a2b-2824d11f639c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.108588s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c69dcfe-fecc-481b-b0e9-d5329e4543ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 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: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.034187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.045108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.041611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.047545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.029487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.023495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.096644s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?address=aa:bb:cc:dd:ee:f1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b19022e1-3c9d-4939-95b0-08ddb8ca0fda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "70872de6-f840-4a55-b036-c155065506ba", "address": "aa:bb:cc:dd:ee:f1", "links": [{"href": "http://localhost/v1/ports/70872de6-f840-4a55-b036-c155065506ba", "rel": "self"}, {"href": "http://localhost/ports/70872de6-f840-4a55-b036-c155065506ba", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.035370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.038722s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.027061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.032523s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.041915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.031517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.101545s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?address=invalid-mac-format WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-213f9fce-8ed2-4541-ae2f-d2eedc63dcef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.022263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.020139s] ... 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.038373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.040565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.034368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.097929s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?address=aa:bb:cc:dd:ee:f1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3e3f4d8-acee-4a4e-866a-6147a61df531 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "858f9b64-9100-4d1c-b747-8469eb4d9a7d", "address": "aa:bb:cc:dd:ee:f1", "links": [{"href": "http://localhost/v1/ports/858f9b64-9100-4d1c-b747-8469eb4d9a7d", "rel": "self"}, {"href": "http://localhost/ports/858f9b64-9100-4d1c-b747-8469eb4d9a7d", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.065736s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.022091s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_029_owner_reader_can_get_restricted_fields [0.968605s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c0e25cd-e883-48d6-b439-1a388cb5568b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-19T00:20:36.733609+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.029166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.029280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.022705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.080959s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?address=aa:bb:cc:dd:ee:f1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce0efd66-3d5b-4516-bf92-c03aeb8f5048 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.030264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.029286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.021232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.028812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.068212s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26f252d5-d53c-42f6-a355-be765bb1dbe7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"chassis": []} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.021670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.092665s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?address=aa:bb:cc:dd:ee:ff WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d612b98c-397f-4232-b0e9-0d926d0381ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.028883s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.035683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.037339s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a337285-f627-4561-ba8f-3e4f07083827 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 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.90"}} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.024504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.066628s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/123 123/ports WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.036239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.050422s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-318ba37f-8525-4c0e-b291-c365109860b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.22 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.90"}, "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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.050255s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports WITH {} 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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.033973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.044360s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-565e6b28-cbe5-4e19-a8d8-4dcee2e43d67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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.90"}, "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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.024820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.030336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.070619s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?sort_key=uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42c4eed0-812b-4bbe-8d08-bafe83a125a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"ports": [{"uuid": "0fd6ac87-61b1-47ce-914e-29e64e034609", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/0fd6ac87-61b1-47ce-914e-29e64e034609", "rel": "self"}, {"href": "http://localhost/ports/0fd6ac87-61b1-47ce-914e-29e64e034609", "rel": "bookmark"}]}, {"uuid": "6a4aba74-ffbe-49ed-b4ee-1588e69c3005", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/6a4aba74-ffbe-49ed-b4ee-1588e69c3005", "rel": "self"}, {"href": "http://localhost/ports/6a4aba74-ffbe-49ed-b4ee-1588e69c3005", "rel": "bookmark"}]}, {"uuid": "b1a5e6ee-9299-4e1a-89ac-b8159863a76c", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/b1a5e6ee-9299-4e1a-89ac-b8159863a76c", "rel": "self"}, {"href": "http://localhost/ports/b1a5e6ee-9299-4e1a-89ac-b8159863a76c", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.049729s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31105487-e450-4149-a01e-eff6f9a2ea2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {"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.90"}, "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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.025074s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.034178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.088904s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?sort_key=pxe_enabled WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f6bd46b-9d8b-4ba9-8b44-309ed7f3cadf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "18604145-4ef6-4446-a60f-bdeda08f9525", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/18604145-4ef6-4446-a60f-bdeda08f9525", "rel": "self"}, {"href": "http://localhost/ports/18604145-4ef6-4446-a60f-bdeda08f9525", "rel": "bookmark"}]}, {"uuid": "fc141371-cdf6-4e64-a895-3f5109a746f0", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/fc141371-cdf6-4e64-a895-3f5109a746f0", "rel": "self"}, {"href": "http://localhost/ports/fc141371-cdf6-4e64-a895-3f5109a746f0", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.036807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.112174s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1ae388b-b1d4-4a89-8e5c-2118ff8df7be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 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.90"}} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.059049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.076955s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?sort_key=foo WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8cf112e5-d6b0-481b-be5f-c0fdc9c9a8b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81469074-8a4d-4fa4-9fb8-52a5974cacf8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07756318-c76c-48b4-a998-13f4a7a5cf53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b02c400f-ac7f-4ad8-a2af-21ec6f3b1333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.029108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.047616s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.020578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.021993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.020412s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.025111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.031317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.046324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.102715s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports?sort_key=pxe_enabled WITH {} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3635b61e-c6db-4e34-a7d6-5ad0c3e8a9bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.023428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.021149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.027202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.067142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.024429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.092524s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a233c724-f89d-42a1-bf1a-5b0d6f4b9476 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:38.000355+00:00", "updated_at": "2024-03-19T00:20:38.057590+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1", "network_type": "unmanaged"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.021539s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.062626s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/?limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76b58da2-bef7-42f6-b590-aeef6da86d38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "afdc42ee-f581-4ff4-82e4-18765b52478d", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/afdc42ee-f581-4ff4-82e4-18765b52478d", "rel": "self"}, {"href": "http://localhost/volume/connectors/afdc42ee-f581-4ff4-82e4-18765b52478d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "4d5536cc-1c40-4600-934e-7286abd68d1a", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/4d5536cc-1c40-4600-934e-7286abd68d1a", "rel": "self"}, {"href": "http://localhost/volume/connectors/4d5536cc-1c40-4600-934e-7286abd68d1a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "9992d937-a7c6-40b0-b082-93c466bcd56d", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/9992d937-a7c6-40b0-b082-93c466bcd56d", "rel": "self"}, {"href": "http://localhost/volume/connectors/9992d937-a7c6-40b0-b082-93c466bcd56d", "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=9992d937-a7c6-40b0-b082-93c466bcd56d"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.035338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.078528s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18849a0c-3445-48fc-8a64-a5ad5c8c98de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.054965s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?fields=uuid,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f489417a-526e-40ee-b849-47766c291055 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "940f99f9-6b72-4aaf-8d86-63d45c243683", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/940f99f9-6b72-4aaf-8d86-63d45c243683", "rel": "self"}, {"href": "http://localhost/volume/connectors/940f99f9-6b72-4aaf-8d86-63d45c243683", "rel": "bookmark"}]}, {"uuid": "6f080c22-2308-4236-9aad-fa1f28ac5b55", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/6f080c22-2308-4236-9aad-fa1f28ac5b55", "rel": "self"}, {"href": "http://localhost/volume/connectors/6f080c22-2308-4236-9aad-fa1f28ac5b55", "rel": "bookmark"}]}, {"uuid": "c864802d-c5a1-4840-be73-a4fc78434fc9", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/c864802d-c5a1-4840-be73-a4fc78434fc9", "rel": "self"}, {"href": "http://localhost/volume/connectors/c864802d-c5a1-4840-be73-a4fc78434fc9", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=c864802d-c5a1-4840-be73-a4fc78434fc9"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.047887s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4542a607-188b-4583-95ea-5fcdd46494dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "edaea6a6-c3a4-4488-9a8d-62fa4e6c23f3", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/edaea6a6-c3a4-4488-9a8d-62fa4e6c23f3", "rel": "self"}, {"href": "http://localhost/volume/connectors/edaea6a6-c3a4-4488-9a8d-62fa4e6c23f3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "0df34682-640a-4028-bd33-b8fa8f830cf1", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/0df34682-640a-4028-bd33-b8fa8f830cf1", "rel": "self"}, {"href": "http://localhost/volume/connectors/0df34682-640a-4028-bd33-b8fa8f830cf1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "56e67e18-3e34-4f63-a736-7fcdf428192e", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/56e67e18-3e34-4f63-a736-7fcdf428192e", "rel": "self"}, {"href": "http://localhost/volume/connectors/56e67e18-3e34-4f63-a736-7fcdf428192e", "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=56e67e18-3e34-4f63-a736-7fcdf428192e"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.079359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.027894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.086172s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?detail=True&limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-712067e2-8e5f-4a49-be80-610dc966431f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "b2baf1b9-d97d-448e-af4a-9cd41af7d87d", "created_at": "2024-03-19T00:20:38.245953+00:00", "updated_at": null, "connector_id": "test-connector_id-0", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/b2baf1b9-d97d-448e-af4a-9cd41af7d87d", "rel": "self"}, {"href": "http://localhost/volume/connectors/b2baf1b9-d97d-448e-af4a-9cd41af7d87d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "8557e4b1-c569-4f32-b311-7fe723d17446", "created_at": "2024-03-19T00:20:38.247772+00:00", "updated_at": null, "connector_id": "test-connector_id-1", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/8557e4b1-c569-4f32-b311-7fe723d17446", "rel": "self"}, {"href": "http://localhost/volume/connectors/8557e4b1-c569-4f32-b311-7fe723d17446", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "8209fb31-b04a-4ab3-90fd-3219ff2cb8b2", "created_at": "2024-03-19T00:20:38.248621+00:00", "updated_at": null, "connector_id": "test-connector_id-2", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/8209fb31-b04a-4ab3-90fd-3219ff2cb8b2", "rel": "self"}, {"href": "http://localhost/volume/connectors/8209fb31-b04a-4ab3-90fd-3219ff2cb8b2", "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=8209fb31-b04a-4ab3-90fd-3219ff2cb8b2"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.046065s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-526bcd03-9ec0-408b-99ab-db3da7e596f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:38.316220+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.TestRBACProjectScoped.test_project_scoped_030_lessee_reader_cannot_get_restricted_fields [0.945150s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e58dbce-9f54-4175-ad5e-5f23978b1948 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-19T00:20:37.974380+00:00", "updated_at": "2024-03-19T00:20:38.023003+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "c992ecb1-76ff-4fe3-8a64-77d25ca75a46", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "c992ecb1-76ff-4fe3-8a64-77d25ca75a46", "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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.036751s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52e5cf00-c9d6-4040-95a9-a938630567cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.047679s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=connector_id,extra WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9efd8b7f-ff4a-4f3a-9a45-e7fb15844480 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.044143s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?detail=True&node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85c36eeb-baf9-4a6e-972f-6eef4bfe820f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:38.445371+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.controllers.v1.test_port.TestPatch.test_add_multi [0.390798s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac1bf5c3-0a7c-4481-846f-8819fe755ac6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:38.179692+00:00", "updated_at": "2024-03-19T00:20:38.517148+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.100825s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?detail=False WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80441ce8-7ba4-45a4-bf91-39988c584f5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_031_owner_reader_can_get_detail [0.255260s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5a487e8-f058-49d5-b05c-67b66f7b726d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-19T00:20:38.533916+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-19T00:20:38.549552+00:00", "updated_at": "2024-03-19T00:20:38.558883+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "6c6e70f9-4341-4e5a-bed9-715c82c7427c", "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-7d87 DEBUG util.py:445: 39cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "6c6e70f9-4341-4e5a-bed9-715c82c7427c", "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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.074652s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?detail=True WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.147592s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28d02c30-9d3d-4a6a-a76c-25ba79a3d0d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, name\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_032_lessee_reader_can_get_detail [0.096494s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81d80236-bdcd-424f-bc73-59c919313492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-19T00:20:38.656747+00:00", "updated_at": "2024-03-19T00:20:38.665016+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "63d65717-8c61-436a-a460-72c2d6115808", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "63d65717-8c61-436a-a460-72c2d6115808", "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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.089691s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/detail WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8768b36a-d4b7-47bb-a60d-fa5692feb4cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for connector_uuid: detail\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_033_third_party_admin_cannot_get_detail [0.079536s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e237293-24e5-4632-a808-68aea9acf1b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.063428s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08f832ee-1675-4705-89dc-745177bd2b2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_034_owner_admin_can_patch_node_extra [0.136854s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99bd8605-df04-41e8-88f6-5c9a1bfd75e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.248638s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b28ee71-e67b-45f1-b135-97574c829ac8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:38.785878+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.151418s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be8a7772-7b62-48a5-a071-8fe91c7a47be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "3e5aedeb-919c-4989-85d0-3463bd71ce29", "connector_id": "test-value-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/3e5aedeb-919c-4989-85d0-3463bd71ce29", "rel": "self"}, {"href": "http://localhost/volume/connectors/3e5aedeb-919c-4989-85d0-3463bd71ce29", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "30f87482-bc62-4cb0-93de-88a1c83cd443", "connector_id": "test-value-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/30f87482-bc62-4cb0-93de-88a1c83cd443", "rel": "self"}, {"href": "http://localhost/volume/connectors/30f87482-bc62-4cb0-93de-88a1c83cd443", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "4574316a-cbdd-44f2-a029-4a8a74683e0f", "connector_id": "test-value-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/4574316a-cbdd-44f2-a029-4a8a74683e0f", "rel": "self"}, {"href": "http://localhost/volume/connectors/4574316a-cbdd-44f2-a029-4a8a74683e0f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.090759s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-841507e6-f2ec-4ff5-9a93-5d787a7548f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:38.967148+00:00", "updated_at": "2024-03-19T00:20:39.013776+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_035_owner_manager_can_patch_node_extra [0.132354s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fa2bbc1-23ea-452c-9031-b856828e7bdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.164086s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?fields=uuid,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ab4d834-39e5-4dec-ba70-8fba0b325c32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "d11a3e8e-08a9-4622-a863-c5fb7b696cdb", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/d11a3e8e-08a9-4622-a863-c5fb7b696cdb", "rel": "self"}, {"href": "http://localhost/volume/connectors/d11a3e8e-08a9-4622-a863-c5fb7b696cdb", "rel": "bookmark"}]}, {"uuid": "8d84e926-879d-42b2-a01e-4213080efd90", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/8d84e926-879d-42b2-a01e-4213080efd90", "rel": "self"}, {"href": "http://localhost/volume/connectors/8d84e926-879d-42b2-a01e-4213080efd90", "rel": "bookmark"}]}, {"uuid": "7579f01e-9c66-47f9-aa7c-2fe5e71f04c1", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/7579f01e-9c66-47f9-aa7c-2fe5e71f04c1", "rel": "self"}, {"href": "http://localhost/volume/connectors/7579f01e-9c66-47f9-aa7c-2fe5e71f04c1", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.102709s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-931d57f0-1bab-43c3-b0e5-b870ab16e646 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.062960s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9b5aa61-ed75-4f99-a27d-0030f1931ba1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_036_owner_member_can_patch_node_extra [0.140188s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-782a5618-339e-46f3-aa7a-762bfe380e9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.124665s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?fields=connector_id&limit=2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4dea188f-b5b2-4093-b40f-6769769c5b3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"connector_id": "test-connector_id-0", "links": [{"href": "http://localhost/v1/volume/connectors/d34c0bae-77b7-479b-a412-8418f538a69b", "rel": "self"}, {"href": "http://localhost/volume/connectors/d34c0bae-77b7-479b-a412-8418f538a69b", "rel": "bookmark"}]}, {"connector_id": "test-connector_id-1", "links": [{"href": "http://localhost/v1/volume/connectors/5cd1bcaa-8afa-48c1-ac68-7d8300a3b8f6", "rel": "self"}, {"href": "http://localhost/volume/connectors/5cd1bcaa-8afa-48c1-ac68-7d8300a3b8f6", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=5cd1bcaa-8afa-48c1-ac68-7d8300a3b8f6"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [1.024158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.045538s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra WITH {} 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.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.055386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.054044s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.023948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.227847s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': '981566f4-4567-48ca-8241-8613e4cb1285', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e242d240-05ee-4adc-83e6-0ce524ba9b3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:39.246764+00:00", "updated_at": "2024-03-19T00:20:39.394871+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "981566f4-4567-48ca-8241-8613e4cb1285"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_037_owner_reader_cannot_patch_node_extra [0.244149s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffcf4775-7fbb-45d7-a602-2b7d6aca74b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.218328s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5df8a3f4-dad5-4973-94a4-e58677456955 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.123957s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.035537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.080891s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-504d6ec3-59d7-4587-a549-d50e1c4abe21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:39.566209+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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.055336s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da0629d9-afeb-4e96-8ac7-0811e5ba0d1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.237040s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea125d97-8369-429a-842b-6a799dd59224 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:39.539172+00:00", "updated_at": "2024-03-19T00:20:39.654627+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.061708s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} 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.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.161094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.071880s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9ea07b2-b286-43c0-9f95-2835e77daa50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, name\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.027199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.080560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_038_lessee_admin_can_patch_node_extra [0.424519s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-229a8ada-25fc-4bf6-8bf1-e5bf1edcb1a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.184087s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/2d854df1-e429-49be-853e-85eeae42bb36 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a343f69f-389b-4d56-84c9-7f251f08df40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2d854df1-e429-49be-853e-85eeae42bb36", "created_at": "2024-03-19T00:20:39.752616+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/2d854df1-e429-49be-853e-85eeae42bb36", "rel": "self"}, {"href": "http://localhost/volume/connectors/2d854df1-e429-49be-853e-85eeae42bb36", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/volume/connectors/2d854df1-e429-49be-853e-85eeae42bb36 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-706232ac-788b-45ee-8f51-47ab668192ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2d854df1-e429-49be-853e-85eeae42bb36", "created_at": "2024-03-19T00:20:39.752616+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/2d854df1-e429-49be-853e-85eeae42bb36", "rel": "self"}, {"href": "http://localhost/volume/connectors/2d854df1-e429-49be-853e-85eeae42bb36", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /volume/connectors/2d854df1-e429-49be-853e-85eeae42bb36 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-855bb1fe-ace0-44c1-b366-3e7284b252a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2d854df1-e429-49be-853e-85eeae42bb36", "created_at": "2024-03-19T00:20:39.752616+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/2d854df1-e429-49be-853e-85eeae42bb36", "rel": "self"}, {"href": "http://localhost/volume/connectors/2d854df1-e429-49be-853e-85eeae42bb36", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.068989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.092115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.265100s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': '', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f32e005-5596-4435-8c1f-1abcc72d34f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix [0.102834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix_underscore [0.053958s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_039_lessee_manager_can_patch_node_extra [0.322732s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-424a379d-d19f-4ba3-aff5-92489de94d6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.043568s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.055394s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.270138s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 1234, 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8ff8699-e3f8-4c18-aa32-cab10f6d3cf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.048662s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.038714s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_040_lessee_member_can_patch_node_extra [0.166926s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52371bc6-5c09-41b4-9b40-01480b8842e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.148630s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8de102a4-0017-4c60-ac8a-b4e89374e495 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.064183s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/00744c42-7ae0-462c-8093-69042defc04e WITH [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a01f8d43-f0f2-4f88-b02b-fb197b343c75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.134170s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/8d293fbb-014c-4757-b57e-6c197dea78a3 WITH [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bca92284-2100-4ea2-a21c-f9591c88c816 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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": "8d293fbb-014c-4757-b57e-6c197dea78a3", "created_at": "2024-03-19T00:20:40.528022+00:00", "updated_at": "2024-03-19T00:20:40.600173+00:00", "address": "bb:bb:bb:bb:bb:bb", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/8d293fbb-014c-4757-b57e-6c197dea78a3", "rel": "self"}, {"href": "http://localhost/ports/8d293fbb-014c-4757-b57e-6c197dea78a3", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.285880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.053933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.029467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_041_lessee_reader_cannot_patch_node_extra [0.357422s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52f67db8-7965-451f-ae8d-a5319a3b645a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.056457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.167862s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da084eda-3c7d-4224-a55b-467eca42de35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.028641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.029198s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.021896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.061198s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/switch_id', 'op': 'remove'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-903a3904-27db-4a8c-837b-5072e24b5c17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.979944s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-931ed2a6-c3e7-4c74-afe7-3e1a60846e53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "6c47579a-a17c-410b-8c8f-8a2cd6b7a6e4", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6c47579a-a17c-410b-8c8f-8a2cd6b7a6e4", "rel": "self"}, {"href": "http://localhost/volume/connectors/6c47579a-a17c-410b-8c8f-8a2cd6b7a6e4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "88b71bf8-2e34-4846-90a0-f9623d772789", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/88b71bf8-2e34-4846-90a0-f9623d772789", "rel": "self"}, {"href": "http://localhost/volume/connectors/88b71bf8-2e34-4846-90a0-f9623d772789", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "ac64af08-37dc-4c4a-bfcd-99b6e5389fca", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/ac64af08-37dc-4c4a-bfcd-99b6e5389fca", "rel": "self"}, {"href": "http://localhost/volume/connectors/ac64af08-37dc-4c4a-bfcd-99b6e5389fca", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "703c378f-99cc-4b90-99c2-415a9d89daff", "connector_id": "test-connector_id-3", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/703c378f-99cc-4b90-99c2-415a9d89daff", "rel": "self"}, {"href": "http://localhost/volume/connectors/703c378f-99cc-4b90-99c2-415a9d89daff", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "699b78c1-9c91-4a54-aa8b-699532671038", "connector_id": "test-connector_id-4", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/699b78c1-9c91-4a54-aa8b-699532671038", "rel": "self"}, {"href": "http://localhost/volume/connectors/699b78c1-9c91-4a54-aa8b-699532671038", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.028798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.054502s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.031747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.124874s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48061deb-145a-4e43-9f84-9bcae382e04e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'address' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.032223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_symlink [0.060749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.044857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.251779s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa5db39a-1097-4646-b249-fb6e16a6c617 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.023938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.024120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_042_third_party_admin_cannot_patch_node_extra [0.468715s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6132553e-7bca-440c-b7ec-6bce4c7d3d5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.034713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.250007s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6f1cabc-3565-42ad-8166-5228665ed4ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:41.013444+00:00", "updated_at": "2024-03-19T00:20:41.179625+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6df9b206-eb80-494d-8b07-e20fa51a6ff8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:41.013444+00:00", "updated_at": "2024-03-19T00:20:41.221534+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.063389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.045000s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bea8d755-8952-4289-b5aa-49a944c48851 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, name\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.032498s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.027276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.204442s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.051886s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85f8cc80-654f-48b8-8193-4c86ad3cd3e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.028970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.101658s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bb150e2-dc31-479b-a850-e3c23c5a1787 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:41.356274+00:00", "updated_at": "2024-03-19T00:20:41.422005+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.061809s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'op': 'remove'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff95e700-384a-495a-a4ff-dad0115586bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.136581s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.057947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.070509s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'op': 'remove'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88d5c4da-f793-4cc1-ac6e-be114b9ac844 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.279801s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?sort_key=uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01a1f014-bd09-4a77-9d14-8592e280d2ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": [{"uuid": "1a91e6c8-9a7a-4073-94d2-369661648214", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1a91e6c8-9a7a-4073-94d2-369661648214", "rel": "self"}, {"href": "http://localhost/volume/connectors/1a91e6c8-9a7a-4073-94d2-369661648214", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "41a25d26-48fb-4edd-9c60-d11173c1b33b", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/41a25d26-48fb-4edd-9c60-d11173c1b33b", "rel": "self"}, {"href": "http://localhost/volume/connectors/41a25d26-48fb-4edd-9c60-d11173c1b33b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "4a32a580-4415-4597-b629-0bf6f948a449", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/4a32a580-4415-4597-b629-0bf6f948a449", "rel": "self"}, {"href": "http://localhost/volume/connectors/4a32a580-4415-4597-b629-0bf6f948a449", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false_basic_auth_failed [0.049300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false_basic_auth_sucess [0.025443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.074899s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad0bc96a-972c-482a-afc5-7beee77cc9c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, name\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.071006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.039702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.127554s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be4922e6-bd75-4d25-a5b0-c3a415227f6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.070693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_gen_auth_from_conf_user_pass_none [0.042815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_043_owner_admin_can_change_drivers [0.673273s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63fa8d2c-312a-4463-abfc-3cec6723adc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.297869s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors?sort_key=foo WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b951e6f2-1221-4230-9a33-582c80d86e85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76fb7e17-2c88-4597-bb8f-ae70594a7c83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_gen_auth_from_conf_user_pass_success [0.065601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.166799s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/switch_id', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4fa59ec-14b0-4992-b8c8-c564742c708e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.19 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:41.861013+00:00", "updated_at": "2024-03-19T00:20:41.934748+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.053996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_044_owner_manager_can_change_drivers [0.167798s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fc6523e-7bf5-4f52-89d0-d9e579ae7fea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_allowed [0.143500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.228075s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b384a5d-91ff-4893-baf3-d606eee6b48d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:42.001310+00:00", "updated_at": "2024-03-19T00:20:42.152690+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_disabled [0.088204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.026535s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.335536s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd18b774-951b-40cb-ab22-f17d5d35dda1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:42.207258+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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.027307s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.028906s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.025855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.101662s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64a05d97-7b51-4302-bb21-7d895d3cd836 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.225458s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a94b12c8-7925-4234-a01e-9d9787d829f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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, name\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.105664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.036041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.144082s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8febf379-77c6-4a5a-b6ab-bab1da29e1f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:42.455615+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.TestRBACProjectScoped.test_project_scoped_045_owner_member_can_patch_all_the_things [0.502274s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/properties', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}, {'op': 'replace', 'path': '/name', 'value': 'meow-node-1'}, {'op': 'replace', 'path': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d738f840-1e12-482e-ab19-f1944d676dd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_forbidden [0.119532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_redirected [0.068142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.158074s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8629506-bd95-41d7-a0cf-4b99b98c3416 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.255284s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b60544ec-53c0-4f5c-a978-28a92ba083c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:42.459995+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_valid_path_invalid_basic_auth [0.088450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.183377s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6c781cb-d4a6-4763-a716-bec2dd59a383 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:42.701807+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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_valid_path_valid_basic_auth [0.088886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.049604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.285716s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ee6804f-e1a5-4dc4-bb89-1c50a6076f8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.069194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_046_owner_member_can_change_lessee [0.468601s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/lessee', 'value': '198566a5-a609-4463-9800-e8920be7c2fa'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b017e9bb-b003-41fa-91da-997ed9989c85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.073516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.217987s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdfb752a-7b1d-4bfe-8813-f01b6d0c875b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.124565s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aa916b0-cd1e-4b92-a1fd-44a2a11f6e01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:43.004644+00:00", "updated_at": "2024-03-19T00:20:43.056474+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet2", "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_047_lessee_admin_cannot_change_lessee [0.124000s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b49d15de-7645-40f1-8f8c-5eec1b34a259 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.058815s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ee26563-3adb-46cf-93ed-190313587de8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.139801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.052395s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8e0b460-adb2-4b9a-94f1-a5783e7b0144 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_048_lessee_manager_cannot_change_lessee [0.110456s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14a1af9d-dbc3-4188-b4e0-246d8c27ec6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.086584s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': '30deef94-3ecf-4302-9314-8a5c177c0e49', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-961251ed-df38-4d55-9426-6feb7848e072 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:43.203844+00:00", "updated_at": "2024-03-19T00:20:43.256143+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "30deef94-3ecf-4302-9314-8a5c177c0e49"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.100827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.248683s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/value', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89865a2b-2cf3-42a1-8a70-4db2db00fa0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.045542s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': '29b5b607-446b-4995-977b-a4f685853331', 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b68e3bb-9a62-4c6f-a561-f3e06075fe27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.091983s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': 'af4abf3b-b7c6-44a6-ba01-89aa1379c2af', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb49a6a7-8de1-45eb-98ee-7fa4f3660c67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:43.347459+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.152168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.141924s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d24fe770-4544-475e-9b00-f8c9402bce93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:43.333200+00:00", "updated_at": "2024-03-19T00:20:43.336460+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 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffcfa666-fc9f-4da5-ab64-866d384662ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:43.333200+00:00", "updated_at": "2024-03-19T00:20:43.336460+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.091716s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': 'b697bd51-88a9-419c-a504-6450585646ef', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '93acb962-64e0-4a84-8af8-a5a482fda72d', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2a9ac57-6f0d-43c3-be48-dfd0323d98ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:43.427843+00:00", "updated_at": "2024-03-19T00:20:43.487529+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "93acb962-64e0-4a84-8af8-a5a482fda72d"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.057151s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dda9fbfa-5128-4a1d-b18c-3c018b722991 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_049_lessee_admin_cannot_change_owner [0.249203s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4206a5b7-af9c-4191-b47a-63e1ed55ecdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.073502s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-775f3c9c-2a1d-4922-9ce4-cda0a8d23d26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:43.520305+00:00", "updated_at": "2024-03-19T00:20:43.563856+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.192479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.124499s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b689d161-cf97-4bce-bc43-030c0cf15728 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.061032s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/pxe_enabled', 'value': False, 'op': 'add'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d80305e8-d5de-4c9d-bc13-064d210b428b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.057423s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f5bf007-2a65-4c47-878d-fb4a9c987f75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.154729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.091365s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/52:54:00:cf:2d:31 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ea25e32-63e3-482c-88b7-9625c5ac8ffe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 or name for port_ident: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_050_lessee_manager_cannot_change_owner [0.304894s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca721257-67fe-448f-bc71-f3ca4a0fa8a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format [0.045370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.211088s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d83db949-2855-4c7a-a4c0-446451b00849 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_empty_password [0.072413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.107994s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18b484d7-389b-403d-a4e9-7f86a5a7b1fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_empty_user [0.056086s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_none_password [0.079205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.160271s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f7096cd-f63e-486f-9ae7-5f9903cca63b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.061200s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42a8cc7b-de39-493c-a361-acae23d8528d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:44.138384+00:00", "updated_at": "2024-03-19T00:20:44.141359+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: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_none_user [0.143753s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.051666s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2121f2e-7d78-4a0f-b874-0c4f8709463a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.074003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.059236s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eadf9e07-02d6-454f-8b1e-34a2c2229f8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:44.253087+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.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.049714s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79e9b830-9ac2-4f3b-905c-c1be3bad774a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.566891s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a04a3477-8c26-4c43-85e4-42537d0d1f52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:43.882590+00:00", "updated_at": "2024-03-19T00:20:44.342442+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.051866s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d101b3a-3523-4af2-b1af-dfa77f1977a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.126377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.056952s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5f6027d-56cf-4e2b-91e3-000397ca227d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:44.411001+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: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.099193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.052176s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af99617a-b624-481c-94ea-0b3487d03077 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:44.465400+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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_051_owner_admin_can_change_lessee [0.694914s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cba3c403-4fd0-4767-be53-bbbd5d6b05e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.036778s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.184613s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b1f52e4-fcc3-4980-9ec7-6de2eed53a64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:44.391698+00:00", "updated_at": "2024-03-19T00:20:44.527456+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.041631s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/f4b7188f-b126-49ae-8410-1c51457be589 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df15b926-d4ad-4741-b945-80254b35441c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector f4b7188f-b126-49ae-8410-1c51457be589 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.103595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.111548s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99edd02d-b334-4031-9525-69201a2af679 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.088946s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created 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-84eb9541-2a8b-4e47-bcd8-bd025d1e7c23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b091d08-3327-43ba-8441-a9b10d305df4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.060892s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/c3ca3eb5-0385-4007-bd6d-180fc0143002 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0009f12d-75c9-49eb-a567-c6a00cb10ed3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 c3ca3eb5-0385-4007-bd6d-180fc0143002 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.129343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.111661s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created 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-c9fea68b-5bee-4e91-bfaa-db24406b84e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:44.733747+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31ddf83b-cf68-4057-86e2-9f74f3ee29fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:44.733747+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: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.089539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.110956s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c95be743-5daa-4b31-b910-9074ca35ff2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:44.745791+00:00", "updated_at": "2024-03-19T00:20:44.813462+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.023297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.065680s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b2639d7-e092-4f62-8d34-27ba60f6a51c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.026339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.023660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.101889s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-feb39dc8-7ca5-44ca-b8a3-11e266b5a1b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.19 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:44.878025+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.049127s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0e01b97-ccb0-43dc-8967-f556ab526cf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.087002s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.030262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.025761s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.024580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.060585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.025643s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.059381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.285303s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/9c739870-71f0-454a-b6c8-d949471f62de DEBUG util.py:445: Openstack-Request-Id: req-4fa672b8-7d9d-47ac-88de-b7bf487d738e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9c739870-71f0-454a-b6c8-d949471f62de", "created_at": "2024-03-19T00:20:45.096210+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/9c739870-71f0-454a-b6c8-d949471f62de", "rel": "self"}, {"href": "http://localhost/volume/targets/9c739870-71f0-454a-b6c8-d949471f62de", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/volume/targets/9c739870-71f0-454a-b6c8-d949471f62de WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-394e205b-645e-4517-887d-4778cd6ffba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9c739870-71f0-454a-b6c8-d949471f62de", "created_at": "2024-03-19T00:20:45.096210+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/9c739870-71f0-454a-b6c8-d949471f62de", "rel": "self"}, {"href": "http://localhost/volume/targets/9c739870-71f0-454a-b6c8-d949471f62de", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.098917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.030607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.027380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.033940s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.033396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.166378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.059598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_052_owner_manager_can_change_lessee [0.829923s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6cf040d6-3fc2-405d-82c5-163f8af1d33a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.193319s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.091334s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-5b0087ff-b2db-4b2b-a6fd-6b53ff60a93e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0eaa12fe-a51d-4f60-b61b-461e162c22bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.097018s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': 123} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-600cca98-1143-4c71-acee-b8f1e08c98b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.095666s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-cc185804-1e10-445a-9d47-a256934b30ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:45.495778+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': 'fc1794c5-d6e4-4e42-9c78-0703b70df0c8', 'name': 'fe483c20-25b5-4e93-95c1-f969354aaedf', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2187e8af-d5eb-4578-8613-3e27d6305570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.216998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.091099s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58265b68-2c80-4f1f-99b8-a746ea92f91a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.087558s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-5cd17f54-1d6e-4c3f-9109-5cfcfeb58422 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:45.578641+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98aa302e-4585-48a8-a7fa-c36bddadab56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:45.578641+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.065021s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-2a100b5a-65aa-4d61-9198-7b17b7eb4099 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:45.657059+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.160598s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.028426s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.032492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.091165s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-382dbd9f-d31e-442f-a65c-30be4650097c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:45.746938+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51610a75-04d8-402f-9a2f-fb2de29c10fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:45.746938+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_053_owner_admin_cannot_change_owner [0.441617s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f84c442-9657-48f6-b6b7-0eb3cde83db4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.066184s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.073495s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e619818-0597-4203-9fc3-760ebb810f8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.342801s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12d388e2-0676-4d5f-9544-d8e642e33bfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.121373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.147312s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812 DEBUG util.py:445: Openstack-Request-Id: req-2a3fe9f6-3875-4364-8e8f-400272edf8da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9829c27e-a34e-414e-88e4-e2f00aee5812", "created_at": "2024-03-19T00:20:45.961434+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812", "rel": "self"}, {"href": "http://localhost/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812/ports", "rel": "self"}, {"href": "http://localhost/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5b8f9aa-a98f-40bd-b455-c6ded5de5492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9829c27e-a34e-414e-88e4-e2f00aee5812", "created_at": "2024-03-19T00:20:45.961434+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812", "rel": "self"}, {"href": "http://localhost/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812/ports", "rel": "self"}, {"href": "http://localhost/portgroups/9829c27e-a34e-414e-88e4-e2f00aee5812/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.107186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.081913s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'internal_info': 'info'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6c8ef77-5a51-489a-aa16-d70248334bf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.234752s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-928536bc-9951-44b0-8b07-a15e9077b5b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.076715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.087880s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'invalid-format', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-856096a2-47ed-4eb9-957d-154160368af9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_054_owner_manager_cannot_change_owner [0.388593s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-803f679e-6540-4ae2-9499-3e188dadef2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.091654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.062416s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e25885d-2a98-46f8-8d7f-5080bfee4aa0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.161985s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a3c09b1-4bf1-403d-9635-7cc8a33a2157 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.098823s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.106009s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': 'invalid-format', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6caf5404-a68e-4d43-9a0c-c416596ca096 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.205637s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created 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-821c1680-0c15-4da1-ab55-af2d939e9a6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:46.451125+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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9b3ed2e-3e5b-4c28-8943-5e3f9863398b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:46.451125+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: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.243209s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4a51b25-73a1-4d79-8e4a-c44b1b14ac27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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 WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'properties': {'bond_prop': 123}} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5ce7e3a-460f-4794-9778-ed470f96a34e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.112853s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'properties': {'bond_prop': 123}} GOT Response: 201 Created 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-0bf5794e-2da0-4ab3-bf06-4a96e511e684 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:46.709795+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "802.3ad", "name": "fooname", "properties": {"bond_prop": 123}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_055_lessee_member_can_set_protected [0.549571s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/protected', 'value': True}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00ebf2f9-8446-42ad-9fc7-b8063eea0bb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.264410s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created 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-a5795cea-39c8-4605-909c-163e01a1c019 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:46.755584+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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.060294s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'aa:bb_cc', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db9ce86d-0dc9-4586-aa3a-2c91b107e638 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.074054s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'foo', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-3f57fad2-47ea-40d7-bfee-a2c1e9ede7f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:46.839135+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "foo", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d5d3cf9-cf30-4fa6-9d93-f50e1e64924a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:46.839135+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "foo", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.056528s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-454a0840-40f7-4b87-85a8-652f29d1265a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:46.896317+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-761585e7-35c1-46b1-8967-eb121e45399f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:46.896317+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.612032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.037907s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcd8e678-c9e2-43d5-9a74-3cf7a66eaf5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.045758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2e59c03-7174-402f-8b6e-f016eb820c71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.061069s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-52650022-ffce-4ad5-b117-e856100af8f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6b311d1-3bca-4510-835f-f961556ec792 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 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, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_056_lessee_member_cannot_patch_instance_info [0.376506s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96fc1714-01f5-4d6a-84f1-13f093ac54c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.072928s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-4b7a595b-a4f1-4fc9-b60e-026485bb4fe6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:47.111310+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4caeb4e2-7e96-41d6-8caf-b02bc42c7b6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:47.111310+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.049131s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5248e150-e8bf-478c-9ac9-865788d70ee2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.255884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.053011s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created 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-f9ca63aa-7c87-4745-b8ed-aa0493b0719b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:20:47.228898+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.100372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.088836s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6e9ba00a-99d1-4495-9780-17feaeeaadf7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2969c148-44b0-424e-b766-2521b5b4187c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "6e9ba00a-99d1-4495-9780-17feaeeaadf7", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/6e9ba00a-99d1-4495-9780-17feaeeaadf7", "rel": "self"}, {"href": "http://localhost/nodes/6e9ba00a-99d1-4495-9780-17feaeeaadf7", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6e9ba00a-99d1-4495-9780-17feaeeaadf7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83e112e3-233d-4e21-abe2-28512acde9ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "6e9ba00a-99d1-4495-9780-17feaeeaadf7", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/6e9ba00a-99d1-4495-9780-17feaeeaadf7", "rel": "self"}, {"href": "http://localhost/nodes/6e9ba00a-99d1-4495-9780-17feaeeaadf7", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "******", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6e9ba00a-99d1-4495-9780-17feaeeaadf7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f2c23a7-c3d9-41a8-8280-dc60f9f6f687 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "6e9ba00a-99d1-4495-9780-17feaeeaadf7", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/6e9ba00a-99d1-4495-9780-17feaeeaadf7", "rel": "self"}, {"href": "http://localhost/nodes/6e9ba00a-99d1-4495-9780-17feaeeaadf7", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "******", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_002_nodes_post_admin [0.238266s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ca22205-1989-4aad-9a78-61c2f0aab44f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.103319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_003_nodes_post_member [0.142643s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f48d8c3d-6cfb-4b1a-a68f-13e4f593c2a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.256691s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45dfac27-fe0d-4725-9c3f-acf5332ba25d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "ce79f737-3460-4dff-a99c-c016de820569", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/ce79f737-3460-4dff-a99c-c016de820569", "rel": "self"}, {"href": "http://localhost/nodes/ce79f737-3460-4dff-a99c-c016de820569", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "some-value", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.224141s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_004_nodes_post_observer [0.155183s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74e8782c-fcc6-4608-961a-134b16127a66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_005_nodes_get_node_admin [0.092056s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9366cb5e-76f0-45c9-9cf0-774ed813087c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.183560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_006_nodes_get_node_member [0.101421s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-caab3873-8d34-4a3b-8309-356ed719e337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.100288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.346958s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?node_uuid=57f53b97-7ae6-445e-9fa6-0642f69795f3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be1fe151-a2a8-4984-ba51-147413d3be23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "57f53b97-7ae6-445e-9fa6-0642f69795f3", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/57f53b97-7ae6-445e-9fa6-0642f69795f3", "rel": "self"}, {"href": "http://localhost/nodes/57f53b97-7ae6-445e-9fa6-0642f69795f3", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "xyzabc", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_007_nodes_get_node_observer [0.111095s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46ed8fb2-acec-4d92-9308-74123512a88d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.224549s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_008_nodes_get_node_other_admin [0.136430s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93ec9691-ed13-4bc0-9659-d0a7a319626d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_009_nodes_get_admin [0.092618s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f5a5878-3c6a-4efb-85a4-c86ce91bbd90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.285481s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=ddf1222f-e08e-4724-89ad-d19717a28ee9 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a62b4508-180a-41dc-9e9a-4f6e5e231d10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "ddf1222f-e08e-4724-89ad-d19717a28ee9", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/ddf1222f-e08e-4724-89ad-d19717a28ee9", "rel": "self"}, {"href": "http://localhost/nodes/ddf1222f-e08e-4724-89ad-d19717a28ee9", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "this_thing_on?", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.312946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.279004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ 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 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b9af15b-57ee-49b2-bbff-88caf8867fc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "3d00b0a0-2992-4b0a-aefd-ecf3f5fed7d6", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/3d00b0a0-2992-4b0a-aefd-ecf3f5fed7d6", "rel": "self"}, {"href": "http://localhost/nodes/3d00b0a0-2992-4b0a-aefd-ecf3f5fed7d6", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "123456", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.135615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_010_nodes_get_other_admin [0.376970s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e02318ef-b81d-4adf-97f4-e81ee217dbf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_057_lessee_member_cannot_patch_driver_info [1.511595s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27a96f16-7c31-4fc2-8baf-2dec8aa6eae2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_011_nodes_detail_get_admin [0.075021s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4245ceae-58bc-4835-82f2-25d2dd4e172a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.162934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_012_nodes_detail_get_member [0.083182s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2cedd08-e353-49b3-a7af-d054842a21f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.040590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.280493s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=995ca43c-c625-496e-87c8-7ff8346d2fc9 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52fb8309-5a90-4586-b8ee-3b810dcf18f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"node": {"uuid": "995ca43c-c625-496e-87c8-7ff8346d2fc9", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/995ca43c-c625-496e-87c8-7ff8346d2fc9", "rel": "self"}, {"href": "http://localhost/nodes/995ca43c-c625-496e-87c8-7ff8346d2fc9", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_token": "234567890", "agent_token_required": true, "agent_md5_checksum_enable": true}} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.049823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_013_nodes_detail_get_observer [0.090873s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69c72b09-7c40-4d4b-a112-94efd85cbb6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_014_nodes_node_ident_get_admin [0.100495s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d360b3c3-1ca2-4258-8d6c-7d7b7cc61a02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_015_nodes_node_ident_get_member [0.074864s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a4cc331-47f1-41fd-871e-06da6f7e6a60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.312623s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d71c9ec-feb5-4dc1-9ae6-372290563346 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.261752s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_016_nodes_node_ident_get_observer [0.092461s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c45bf5f3-b18d-4d9d-b957-d75c38452747 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.069429s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.124589s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-206c8e5c-baea-4d56-82e9-80f29a20fbbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.148134s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d756b66-35e4-4a0d-a0fc-bf88066f0a4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.087482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_058_lessee_member_cannot_patch_properties [0.631736s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/properties', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e8c1238-399b-446a-b2e1-718e8c6e8e71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.072166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_018_nodes_node_ident_patch_member [0.188113s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0abb75c-b684-467d-920c-bf7279d845e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_059_lessee_member_cannot_patch_network_data [0.193493s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ff1a1f3-4945-4433-9b1f-8eccca0af182 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.146539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.288401s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e48a2bbf-7de7-4327-91e0-f992f85f6067 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_060_lessee_member_cannot_patch_name [0.167180s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/name', 'value': 'meow-node-1'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-405b9d41-6daa-447a-8bd9-e9366dd9f02e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.185524s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.265496s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-169eae41-7441-4b7c-b2ff-2c0d351a7dea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_061_lessee_member_cannot_patch_retired [0.118262s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9a0fabd-d923-41f5-9498-f88f9b6facd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.204445s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=1e62b25d-dfc2-4698-8db8-68b138630810 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5126ad78-f0e8-4fc8-be7d-07985f78c726 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.192615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_empty [0.134910s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/shards WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-019676ed-93f4-4bb0-ad36-55de5638b2f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"shards": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_062_owner_admin_can_patch_node_instance_info [0.166599s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86dbcf7c-7e36-4dd5-b478-3b9691d2b1cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.293993s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-323c1b2b-3339-429a-909a-acbfdba446eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_get_one [0.149466s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/shards/shard1 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4fb0051-5f71-463a-8cf7-51ce3fe4baf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_063_owner_manager_can_patch_node_instance_info [0.157012s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66124687-a462-4439-8621-a10bdb1c875e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.274820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_021_nodes_node_ident_delete_member [0.182892s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0fc3d7d-2151-4b05-8753-5c563a5ef067 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_post [0.169716s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/shards WITH {} GOT Response: 405 Method Not Allowed DEBUG util.py:445: Allow: 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_064_owner_member_can_patch_node_instance_info [0.175797s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b5cc730-5e08-459b-bc8d-d115d5057322 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.155504s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc8b5c19-5df1-46e1-b286-114bcfb84701 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_065_owner_reader_can_patch_node_instance_info [0.128271s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb1abfd5-ab26-4a72-966a-c0cb08f5b64e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.295302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_put [0.226387s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/shards WITH {} GOT Response: 405 Method Not Allowed DEBUG util.py:445: Allow: 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_023_nodes_validate_get_admin [0.117772s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77649d58-055e-479f-9898-cd30f16546f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_066_lessee_admin_can_patch_node_instance_info [0.170502s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58111614-5927-4be4-907d-01741fc5d7f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_024_nodes_validate_get_member [0.128318s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6616786-3071-42ee-9098-8f0fb01b4272 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_067_lessee_manager_can_patch_node_instance_info [0.145722s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-113d626b-fc1d-4189-89a4-7092c0d31db1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_025_nodes_validate_get_observer [0.163200s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e36495a4-815d-458a-a302-e350ab4044d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_068_lessee_member_cannot_patch_node_instance_info [0.128416s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2cfac71-84f6-4766-ad21-66632fb809cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.419327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_069_lessee_reader_can_patch_node_instance_info [0.102459s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb91bbe2-570c-4084-bcb7-f67a097e9018 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_026_nodes_maintenance_put_admin [0.220023s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-521f1344-f09a-4d50-b261-94f470e543db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_070_third_party_admin_cannot_patch_node_instance_info [0.102635s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a892cc2a-2fcb-4a59-9245-4cbd159ed2d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.219257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_071_owner_admin_cannot_delete_nodes [0.117453s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fa6e4d5-578b-438c-b26d-c7ae55ee7f17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_027_nodes_maintenance_put_member [0.259190s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b2b0b13-fd2c-40bc-b3ee-69c0508b24e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_072_owner_admin_can_delete_nodes [0.108907s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc79edb6-0578-4f6a-b3e4-21ac789ed5b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_028_nodes_maintenance_put_observer [0.116906s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f887ce11-704f-491a-b746-591e29a9bff6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_073_service_cannot_delete_owner_admin_nodes [0.112065s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d3c17cc-04dd-4d6a-bf35-4805f4de27ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.316317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_074_service_can_delete_nodes_in_own_project [0.102647s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-541efc76-ca01-468d-8993-7c5aac263644 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_wrong_version [1.076133s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/shards WITH {} 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 shards\"}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.201167s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f8d4f9b-c81a-4e72-823b-1d3312fb3876 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_030_nodes_maintenance_delete_member [0.099226s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72feb5e0-5b9f-442c-92d1-7cb7d766a4da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_075_owner_manager_cannot_delete_nodes [0.257270s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea332909-89b9-471a-9cee-2cf9ccc737e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.372669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.142124s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9afc7afd-e28c-4839-ba82-c7fe2f040dcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_multiple_shards [0.359913s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/shards WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1aa6246e-0dfa-436f-8255-38f3ad44a217 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"shards": [{"name": "shard5", "count": 5}, {"name": "shard4", "count": 4}, {"name": "shard3", "count": 3}, {"name": "shard2", "count": 2}, {"name": "shard1", "count": 1}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.113581s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4534cf6c-5eaa-47b5-a162-45d9212e53c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.163025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_nodes_but_no_shards [0.139784s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/shards WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-530bbfe8-9b27-46dd-b3d3-4a825b9051c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"shards": [{"name": "None", "count": 5}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.176348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb659e77-6838-4d54-ac3d-980f56dd9d0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.171305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_076_lessee_admin_cannot_delete_nodes [0.370332s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc5154a1-eed7-4b56-9af9-9d493716bd0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_one_shard [0.191090s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/shards WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af590ae7-5beb-42a2-b605-a44efb4562c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"shards": [{"name": "shard1", "count": 1}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.143985s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fa85395-9f6d-4430-8c3b-aaa00d9cacb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_077_lessee_manager_cannot_delete_nodes [0.132367s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20606cb5-b7b3-459e-a774-12fe3fe083a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.140051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.149779s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4273bcb-ac26-4bac-ad4d-84b2f6c449a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.036630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_078_third_party_admin_cannot_delete_nodes [0.166250s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56240f13-7cb0-4366-8edb-a06df760a505 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.333052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.050012s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.021674s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.025437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.019099s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.019722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.022900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.171850s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9e35ef3-ac2d-4477-9515-f69fd1af8d09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.020131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.021964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.022859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.024111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_079_owner_admin_can_validate_node [0.249393s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79135983-54e7-4524-9a02-a560a892fe3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.019709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.244330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.022051s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.024021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.018501s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.187786s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a96a4b47-62de-40f1-be1b-118ab8278838 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.018313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.020916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.022404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.024673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.021177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.018088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.023479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_080_owner_manager_can_validate_node [0.228776s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f0d9d11-0e0f-4775-9427-f59417fc7cb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.019465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.154158s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2716518a-37e9-4f67-9e8d-dbbecd3c499b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.018774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.019337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.019035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.022390s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.022669s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.029264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.031872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_081_lessee_admin_can_validate_node [0.191267s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a016d5bc-8574-4abd-b412-7526fe2e7229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.039883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.022210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.481819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.035975s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.019088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.287735s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d40e83d7-f809-4b76-978a-62df513745b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_082_lessee_manager_can_validate_node [0.113613s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a38d406-453d-44f5-a459-bd277edb0e71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.024628s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.017877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.017425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.018448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.098252s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5dc8f1d0-1c39-4bea-966f-c561de4ef90f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.038205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.021709s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.019175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_083_owner_member_can_validate_node [0.163162s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97cb6c29-f124-4742-b70c-cadebb89a19e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.019254s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.017759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.023449s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.019052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.018694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.168452s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e74424fb-b175-4993-bf69-f6a9f7734f08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.026323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.019821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_084_lessee_member_cannot_validate_node [0.151579s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d11bad5-8764-4c31-b310-e74f8e55e3e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.025062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.035719s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.389593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.028261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.028022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.029575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.204670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7b5fbb4-ce0e-4a35-9672-03cc82ee39d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.036834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_085_third_party_admin_cannot_validate_node [0.180443s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f28356d-7b5e-46a0-9db4-fa4db6dc0390 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.025531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.023079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.020663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.025564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.021139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.022657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.168224s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef098acb-4b2b-4ca8-bb97-a2270640f880 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.048971s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_086_owner_admin_can_set_maintenance [0.179173s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6882cf83-bd70-4105-88ac-23adc86528cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.029298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.043588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.025668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_087_owner_manager_can_set_maintenance [0.102276s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88c62524-60c9-4ebe-810d-df55c359b364 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.023135s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.025687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.023902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_044_nodes_states_get_admin [0.220678s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2144632e-60cc-48c3-b07b-4058737d512f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.029965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.018307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.022883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.018313s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.565133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.029391s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_088_lessee_admin_can_set_maintenance [0.200823s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed483a99-afc1-469b-bbc5-d29f3bbb7243 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.021581s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.020611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.019209s] ... 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.021222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_045_nodes_states_get_member [0.194743s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bcfa10c-2199-427c-a16a-628524eaef34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.026833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.022760s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_089_lessee_manager_can_set_maintenance [0.121335s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fdf2a66-8389-46fd-a0ac-76eb7487a1c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.032817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.018535s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.022093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.025160s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_090_owner_member_can_set_maintenance [0.111463s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a869461d-7205-4317-a915-c0afb26d7966 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.021201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.034856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.027348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.030007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_091_lessee_member_cannot_set_maintenance [0.090264s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d415e363-02ef-4647-a01f-f2d39f8bec50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.411979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.062759s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-44e4e26b-23fb-4894-9c61-3605d9decce4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_046_nodes_states_get_observer [0.302519s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a31a493-17e2-4455-a8f5-35b0cc203195 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_092_third_party_admin_cannot_set_maintenance [0.080092s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bae94e3e-2a6f-4d2e-a649-7417fc3b733b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.096985s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_093_owner_admin_can_unset_maintenance [0.090546s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8df05195-d875-48f4-bbf8-915e1a557484 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_094_owner_manager_can_unset_maintenance [0.147848s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5faef0e5-dc56-4f03-8103-96a2ba46f8e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.246408s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51f9b1fe-94b4-4502-9a44-1c2e4a772db4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.394128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_047_nodes_states_power_put_admin [0.473670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc3a1e44-3362-4a8d-813c-d0ddd0f0aecf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.165842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.264604s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6918a927-738d-4b57-ac65-ce788cc6e48e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_095_lessee_admin_can_unset_maintenance [0.533101s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52e47489-ff39-48b1-9f3c-207c9ece0499 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.277103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.140079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.344379s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/?limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b905d91-2f3c-42d1-93cf-40c1756ad74e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "bb135d1e-a98c-405c-92e9-3631a26a9263", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/bb135d1e-a98c-405c-92e9-3631a26a9263", "rel": "self"}, {"href": "http://localhost/volume/targets/bb135d1e-a98c-405c-92e9-3631a26a9263", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "5e576739-0b96-4a7d-89fb-b70e28204280", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/5e576739-0b96-4a7d-89fb-b70e28204280", "rel": "self"}, {"href": "http://localhost/volume/targets/5e576739-0b96-4a7d-89fb-b70e28204280", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "bd13818f-c3ac-4230-b54d-7ad3415c3e2a", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/bd13818f-c3ac-4230-b54d-7ad3415c3e2a", "rel": "self"}, {"href": "http://localhost/volume/targets/bd13818f-c3ac-4230-b54d-7ad3415c3e2a", "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=bd13818f-c3ac-4230-b54d-7ad3415c3e2a"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.055827s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?fields=uuid,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-613d126d-b99e-4ff3-b3c4-bcb2aab61d85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "8309a485-bff4-4896-9da8-8ce55b5ad665", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/8309a485-bff4-4896-9da8-8ce55b5ad665", "rel": "self"}, {"href": "http://localhost/volume/targets/8309a485-bff4-4896-9da8-8ce55b5ad665", "rel": "bookmark"}]}, {"uuid": "39c7b485-72eb-4750-a27d-ce92c2e8edd3", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/39c7b485-72eb-4750-a27d-ce92c2e8edd3", "rel": "self"}, {"href": "http://localhost/volume/targets/39c7b485-72eb-4750-a27d-ce92c2e8edd3", "rel": "bookmark"}]}, {"uuid": "5c22a34b-5be5-43f7-b527-9b5df1bbcb15", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/5c22a34b-5be5-43f7-b527-9b5df1bbcb15", "rel": "self"}, {"href": "http://localhost/volume/targets/5c22a34b-5be5-43f7-b527-9b5df1bbcb15", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=5c22a34b-5be5-43f7-b527-9b5df1bbcb15"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.053027s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03b6df35-ff27-448b-a1e3-9f69a6465720 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "16d8bd73-6fca-4669-b14a-fab489ecf651", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/16d8bd73-6fca-4669-b14a-fab489ecf651", "rel": "self"}, {"href": "http://localhost/volume/targets/16d8bd73-6fca-4669-b14a-fab489ecf651", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "2057a625-9389-4286-afec-ac4cf1d99d39", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/2057a625-9389-4286-afec-ac4cf1d99d39", "rel": "self"}, {"href": "http://localhost/volume/targets/2057a625-9389-4286-afec-ac4cf1d99d39", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "ce2ea74e-7c43-412f-a568-26f309bf8f00", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/ce2ea74e-7c43-412f-a568-26f309bf8f00", "rel": "self"}, {"href": "http://localhost/volume/targets/ce2ea74e-7c43-412f-a568-26f309bf8f00", "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=ce2ea74e-7c43-412f-a568-26f309bf8f00"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_096_lessee_manager_can_unset_maintenance [0.301931s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8f55027-231e-4a49-b657-86e6f712c53e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_048_nodes_states_power_put_member [0.616792s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb4d1b98-aebd-471e-817e-b550fa06ff5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.146601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.085189s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?detail=True&limit=3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ea2448f-ab8b-41e4-80d4-3857355ecdcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "28266b3a-d9ca-4ff7-9e19-e160e1a3a961", "created_at": "2024-03-19T00:20:55.688874+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/28266b3a-d9ca-4ff7-9e19-e160e1a3a961", "rel": "self"}, {"href": "http://localhost/volume/targets/28266b3a-d9ca-4ff7-9e19-e160e1a3a961", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "da7524f8-0846-4b08-a91f-a68b60591849", "created_at": "2024-03-19T00:20:55.690294+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/da7524f8-0846-4b08-a91f-a68b60591849", "rel": "self"}, {"href": "http://localhost/volume/targets/da7524f8-0846-4b08-a91f-a68b60591849", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "85d5615f-1e83-43f0-b90b-63131de8eaae", "created_at": "2024-03-19T00:20:55.691260+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/85d5615f-1e83-43f0-b90b-63131de8eaae", "rel": "self"}, {"href": "http://localhost/volume/targets/85d5615f-1e83-43f0-b90b-63131de8eaae", "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=85d5615f-1e83-43f0-b90b-63131de8eaae"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.049164s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?detail=True WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77d84ced-52de-4e78-bcd4-c39cf312523d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:55.764943+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.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.046418s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41250080-2291-4cd5-8fa8-9685693260ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_097_owner_member_can_unset_maintnenance [0.189978s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-129843a8-5e36-45ac-bed3-1652e62795a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.176928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.064336s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=boot_index,extra WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1c72cb4-85ba-4793-a8cc-d4d0755962c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.045505s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?detail=True&node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa51d200-6b37-449a-b0cc-f1aa28e58e3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:55.924736+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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_098_lessee_member_cannot_unset_maintenance [0.105815s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fb0b994-5602-44a3-89fa-6563bb442a88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.128973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.049170s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?detail=False WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52075e45-7ae5-4758-82f8-4a02e05cd767 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.038978s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?detail=True WITH {} 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.033409s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/detail WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d84c6bc3-9e95-4aa9-bf08-a9f9192f3e70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for target_uuid: detail\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.039687s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4fafd94a-d100-4f58-a0fb-d09c8d2da6f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": []} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_049_nodes_states_power_put_observer [0.451723s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36b990e0-6a36-4535-a3b6-db4c0e403fdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.133546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_099_third_party_admin_cannot_unset_maintenance [0.229609s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0cfe935f-5fad-4044-a93f-3e6e1f2c39e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.074552s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?node=test-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17825339-8d52-45de-801d-3e229cd07337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "74594c44-8a74-4961-8e96-7fc86912978d", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/74594c44-8a74-4961-8e96-7fc86912978d", "rel": "self"}, {"href": "http://localhost/volume/targets/74594c44-8a74-4961-8e96-7fc86912978d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "3ac2225b-bed9-45f6-9b50-149115df4b27", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3ac2225b-bed9-45f6-9b50-149115df4b27", "rel": "self"}, {"href": "http://localhost/volume/targets/3ac2225b-bed9-45f6-9b50-149115df4b27", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "c2f10cd0-c96c-4730-a3ec-c5c99256565f", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/c2f10cd0-c96c-4730-a3ec-c5c99256565f", "rel": "self"}, {"href": "http://localhost/volume/targets/c2f10cd0-c96c-4730-a3ec-c5c99256565f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.062533s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?fields=uuid,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be0f0971-891f-4fab-8451-400b3adff8ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "9d3088d7-70fd-43cf-aef9-3928f7e281b1", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/9d3088d7-70fd-43cf-aef9-3928f7e281b1", "rel": "self"}, {"href": "http://localhost/volume/targets/9d3088d7-70fd-43cf-aef9-3928f7e281b1", "rel": "bookmark"}]}, {"uuid": "7e420daa-aa81-419e-93d8-bb545fe3b79e", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/7e420daa-aa81-419e-93d8-bb545fe3b79e", "rel": "self"}, {"href": "http://localhost/volume/targets/7e420daa-aa81-419e-93d8-bb545fe3b79e", "rel": "bookmark"}]}, {"uuid": "52e1e43a-de17-4abc-b6f1-f523604194bb", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/52e1e43a-de17-4abc-b6f1-f523604194bb", "rel": "self"}, {"href": "http://localhost/volume/targets/52e1e43a-de17-4abc-b6f1-f523604194bb", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.146807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.060234s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?fields=boot_index&limit=2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b147b4a-790b-4626-aee1-acaabe447bbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"boot_index": 0, "links": [{"href": "http://localhost/v1/volume/targets/875cbf63-ca5f-48b6-840f-8d8567a331b7", "rel": "self"}, {"href": "http://localhost/volume/targets/875cbf63-ca5f-48b6-840f-8d8567a331b7", "rel": "bookmark"}]}, {"boot_index": 1, "links": [{"href": "http://localhost/v1/volume/targets/9107d59f-fb97-4e04-98f5-f93d5ac25da3", "rel": "self"}, {"href": "http://localhost/volume/targets/9107d59f-fb97-4e04-98f5-f93d5ac25da3", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=9107d59f-fb97-4e04-98f5-f93d5ac25da3"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_100_owner_admin_can_set_boot_device [0.135948s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-138a5a15-51d0-4a89-86bb-87ff8f06e8be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.049354s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79a1a2ef-fdea-4228-8719-07e12990578f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.121742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.046784s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5eb5efea-f0c6-4e9f-ae8c-de0db86867c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:20:56.385548+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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_101_owner_manager_can_set_boot_device [0.085357s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52064ec9-5eed-4a50-8865-c9a3b56e571b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.052870s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a709eb8-ee30-4660-84d4-458dd0099864 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"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: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.072610s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.030873s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_102_lessee_admin_cannot_set_boot_device [0.146500s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-405b260d-3413-4243-bef6-542f337a0726 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.442973s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9cc3ee1-a1d9-4a83-a00e-de57a8833d0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.073884s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/01b18ecd-18fc-4e44-b1a6-3d8d206652e5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc291b44-0d54-4f67-8420-be6e7b0c777a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "01b18ecd-18fc-4e44-b1a6-3d8d206652e5", "created_at": "2024-03-19T00:20:56.524722+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/01b18ecd-18fc-4e44-b1a6-3d8d206652e5", "rel": "self"}, {"href": "http://localhost/volume/targets/01b18ecd-18fc-4e44-b1a6-3d8d206652e5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/volume/targets/01b18ecd-18fc-4e44-b1a6-3d8d206652e5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f28c8e1-ffcd-452e-af91-53a2d22c485c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "01b18ecd-18fc-4e44-b1a6-3d8d206652e5", "created_at": "2024-03-19T00:20:56.524722+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/01b18ecd-18fc-4e44-b1a6-3d8d206652e5", "rel": "self"}, {"href": "http://localhost/volume/targets/01b18ecd-18fc-4e44-b1a6-3d8d206652e5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /volume/targets/01b18ecd-18fc-4e44-b1a6-3d8d206652e5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-324e3cce-4c5d-4f59-bffe-5dff28d52e47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "01b18ecd-18fc-4e44-b1a6-3d8d206652e5", "created_at": "2024-03-19T00:20:56.524722+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/01b18ecd-18fc-4e44-b1a6-3d8d206652e5", "rel": "self"}, {"href": "http://localhost/volume/targets/01b18ecd-18fc-4e44-b1a6-3d8d206652e5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.145462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.060063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.122940s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cbfce24b-2f78-4572-ae70-b5c75de3ef58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "b59371d4-4849-4644-9409-40168cfca342", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/b59371d4-4849-4644-9409-40168cfca342", "rel": "self"}, {"href": "http://localhost/volume/targets/b59371d4-4849-4644-9409-40168cfca342", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "d8ae2ed6-6ef9-4d89-bdfb-d6500e196cd5", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/d8ae2ed6-6ef9-4d89-bdfb-d6500e196cd5", "rel": "self"}, {"href": "http://localhost/volume/targets/d8ae2ed6-6ef9-4d89-bdfb-d6500e196cd5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "95eaff89-d5cd-4c26-9a7a-81f834ad63c9", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/95eaff89-d5cd-4c26-9a7a-81f834ad63c9", "rel": "self"}, {"href": "http://localhost/volume/targets/95eaff89-d5cd-4c26-9a7a-81f834ad63c9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "50e078b7-df9a-412f-8185-8f6186232f0a", "boot_index": 3, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/50e078b7-df9a-412f-8185-8f6186232f0a", "rel": "self"}, {"href": "http://localhost/volume/targets/50e078b7-df9a-412f-8185-8f6186232f0a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "6cea3496-4d90-4f62-8384-10202816fb35", "boot_index": 4, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/6cea3496-4d90-4f62-8384-10202816fb35", "rel": "self"}, {"href": "http://localhost/volume/targets/6cea3496-4d90-4f62-8384-10202816fb35", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.068845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.070125s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8490b80d-9de1-4dd8-9165-9fb55f63caea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACProjectScoped.test_project_scoped_103_lessee_manager_cannot_set_boot_device [0.231576s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c701535-c0dc-4d95-917f-c70755dcd4e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.065743s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} 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.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.115974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.061040s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?sort_key=uuid WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40d6e464-1439-40a1-a095-532980978783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": [{"uuid": "004ecf6f-65c7-4042-a427-89d65b202b9d", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/004ecf6f-65c7-4042-a427-89d65b202b9d", "rel": "self"}, {"href": "http://localhost/volume/targets/004ecf6f-65c7-4042-a427-89d65b202b9d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "4e9eb3ae-09e9-4675-9380-ce24feaad51e", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/4e9eb3ae-09e9-4675-9380-ce24feaad51e", "rel": "self"}, {"href": "http://localhost/volume/targets/4e9eb3ae-09e9-4675-9380-ce24feaad51e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "88bc5c87-fb7c-4af9-a303-0857c40ca7cd", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/88bc5c87-fb7c-4af9-a303-0857c40ca7cd", "rel": "self"}, {"href": "http://localhost/volume/targets/88bc5c87-fb7c-4af9-a303-0857c40ca7cd", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.041350s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets?sort_key=foo WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-926742bd-6415-41a8-9e99-1040525e8ad6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07eda984-c9d6-4728-829b-3d5aa7f1122b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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 WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-521270ed-c109-4576-9566-fda7e47522e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.222323s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_104_owner_member_cannot_set_boot_device [0.460509s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b10b42d0-25d1-4fee-8967-1f80d38624b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_002_nodes_post_admin [0.248106s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f5ecffc-5f2e-47e4-b585-55779c473598 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.182741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.061502s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.111632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_003_nodes_post_member [0.273868s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49f62f44-c223-494c-b840-8b1d1163f072 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.074056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.132780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_105_lessee_member_cannot_set_boot_device [0.447563s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f9f9f0d-472a-4bea-88a6-8008569cf8a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_004_nodes_post_observer [0.167201s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-647ff8d4-7837-4435-9ada-a1ae39318ab9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_005_nodes_get_node_admin [0.133641s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f96f6f08-2414-4419-a01b-025ea872269f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:57.764223+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_051_nodes_states_boot_mode_put_member [1.369896s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fffc2320-9355-49d3-aafe-1e243a1aabab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_106_third_party_admin_cannot_set_boot_device [0.262007s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70386465-6f12-4171-9957-e21e4d706754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_006_nodes_get_node_member [0.271335s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ee7e12b-1ece-4a2c-9b60-5d5cfa153a7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_107_owner_admin_can_get_boot_device [0.342321s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62fffa3e-5e2e-4047-a961-0db5510a2c3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.405240s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8faaf93-54af-49f7-ad92-6cfd616ffca9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.694429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_108_owner_manager_can_get_boot_device [0.100511s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f27bf21c-dfe1-4e16-bc02-6dc3b3052ae1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.055390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.052718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_with_default [0.049005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_109_lessee_admin_cannot_get_boot_device [0.148404s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03469b8e-28db-4715-83d6-83edf2322039 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.041622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.043327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_007_nodes_get_node_observer [0.524335s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed761fe8-bbaf-4658-9c24-f381a1febf89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:58.290903+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_110_owner_member_cannot_get_boot_device [0.112888s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f2148ca-fb2b-4377-95b7-fc20f2b1711e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.047321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.352118s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d4812ed-a031-4d15-b662-1503034cb09d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.043034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.041793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.055798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_111_lessee_member_cannot_get_boot_device [0.215063s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b71ce37-a913-4b5e-8547-a8e8d18df7bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.065399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.048791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.032199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.025657s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.023995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.026747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_008_nodes_get_node_other_admin [0.412225s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85675442-9f53-4182-bb11-7cf5f0c26ffe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:58.842770+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.362507s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11de2b79-04bc-4622-8ea6-aa8b1c92ed02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.083734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_112_owner_reader_cannot_get_boot_device [0.272670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1931c9a9-6b26-470a-80c2-2b88e1983efb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_009_nodes_get_admin [0.114140s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7e3993a-04c7-4dfa-91c1-41d59a7ad037 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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": "5430e8b0-710f-4d8d-aef6-376f06b61a61", "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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.125407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_010_nodes_get_other_admin [0.086062s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e00deb73-d7d4-4922-a632-52cf59c2d59b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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": "1a5195f6-066d-4573-878b-6546a9ab9771", "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.TestRBACProjectScoped.test_project_scoped_113_lessee_reader_cannot_get_boot_device [0.187986s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c0ba347-439f-43fa-8d99-6c0661a4af5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.105534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.058901s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_011_nodes_detail_get_admin [0.171665s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0621e13a-b8c1-4971-9c6a-4e0cac3ac3d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:59.303194+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-03-19T00:20:59.304438+00:00", "updated_at": "2024-03-19T00:20:59.307804+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "b4e3375e-46da-4435-8a44-c13be50973ad", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x DEBUG util.py:445: 86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "b4e3375e-46da-4435-8a44-c13be50973ad", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-03-19T00:20:59.350298+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/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 DEBUG util.py:445: /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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.061799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_114_third_party_admin_cannot_get_boot_device [0.157105s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0493d52-a088-40ba-a10e-d0fa4de96953 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_012_nodes_detail_get_member [0.097924s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf739c6e-f726-43fd-b087-9402c19355df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.057946s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.453204s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a12ba845-00c5-4a30-90e8-be6d87b80d2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.093178s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.076616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_013_nodes_detail_get_observer [0.180777s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afb91588-e741-470f-9a4a-95b00402f80e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:59.580959+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-03-19T00:20:59.601454+00:00", "updated_at": "2024-03-19T00:20:59.605219+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "d108dcb5-5be5-451f-b5af-d05d6f577c39", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x DEBUG util.py:445: 86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "d108dcb5-5be5-451f-b5af-d05d6f577c39", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-03-19T00:20:59.650198+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/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 DEBUG util.py:445: /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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.054899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.028637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_014_nodes_node_ident_get_admin [0.105951s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bb07dc9-89ec-45f1-ba60-761547c67db2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:59.760068+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.034024s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_115_owner_admin_can_get_supported_boot_devices [0.335795s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2908abdb-31fa-4434-b306-e2f2f19b020e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.033399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_fallback [0.028678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_015_nodes_node_ident_get_member [0.108028s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca778a13-36e1-462b-97f1-f6e027ff73f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.073501s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_056_nodes_states_provision_put_admin [0.446250s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce718325-b690-49b8-b654-da3deec6bc41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_bios [0.116106s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_016_nodes_node_ident_get_observer [0.154356s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6edf07c5-10df-4cd6-ad09-af56f0779176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:20:59.979585+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_116_owner_manager_can_get_supported_boot_devices [0.267638s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ebe591b-0ad7-4226-a467-695b4d1bfb27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_uefi [0.122739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.172797s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39e473b1-16fe-4603-bd44-216523d3d093 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_117_owner_member_cannot_get_supported_boot_devices [0.167585s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e14b2c3f-dee8-4662-92c9-5b6dea35e837 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.082211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.104067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_018_nodes_node_ident_patch_member [0.130480s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f018110a-8b2f-44e7-9d8d-ce0eb6d91c00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.057911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.073706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.042829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_118_lessee_admin_cannot_get_supported_boot_devices [0.288624s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b227711-522c-4d80-a996-8f46cb1d0a5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_057_nodes_states_provision_put_member [0.598131s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8e8942d-d37d-431e-b92b-38f96caab751 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_anaconda [0.044654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.041287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.046296s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.037347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.387900s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71c7a20b-69e2-43ca-ae62-0f03c9f51f94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.040156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.067139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.034814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.122012s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00df4f8b-af2c-4be6-b5d9-7c411a8bc7cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_119_lessee_manager_cannot_get_supported_boot_devices [0.367995s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b4dbba0-1e47-400c-a56e-53f69833d1af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.067784s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.042035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.050195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_021_nodes_node_ident_delete_member [0.171202s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19368838-e6ae-472b-86d1-0f78ac2125a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.047107s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_058_nodes_states_provision_put_observer [0.487905s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d51b212a-a3ea-43cc-99de-e211f1f3962a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_bios [0.053359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipv4 [0.057355s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_120_third_party_admin_cannot_get_supported_boot_devices [0.287687s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7616bce6-384a-4ed9-b747-0646ae4a5d59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.177981s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b2a9bf3-3f78-4fab-aa26-90653395b254 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipv6 [0.079527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipxe_ipv4 [0.042075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_023_nodes_validate_get_admin [0.090524s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-055efeef-1e85-496e-9b5d-802a91be8755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipxe_ipv6 [0.055655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.074098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_024_nodes_validate_get_member [0.119928s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e92d6aa7-c9ed-43a7-91bb-bfe9b4439efc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6_bios [0.040032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_025_nodes_validate_get_observer [0.093799s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7300ef56-7f5d-4a98-a5b2-d7bdb19c1732 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_121_owner_admin_can_send_non_masking_interrupt [0.329607s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a58e21d-834c-4ae6-8542-0a11d821b3c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_fallback_ipxe_boot_script [0.062979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.069981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_026_nodes_maintenance_put_admin [0.118238s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93d57b75-4480-4391-a379-fa18a4398049 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.051473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.054948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_027_nodes_maintenance_put_member [0.089992s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35208773-a7f8-4b20-afc4-1ed222055a2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.047462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.027525s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_059_nodes_states_raid_put_admin [0.688613s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-781956d7-da43-4074-bc0e-a5a6fdd88f73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.033717s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_028_nodes_maintenance_put_observer [0.099484s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-736ccf73-066e-4ebf-ba2b-96b7fe9764fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config [0.043557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_122_owner_manager_can_send_non_masking_interrupt [0.350782s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b900c868-32f5-444e-aa0e-5a619126a02e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config_existing_dirs [0.048624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.086057s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d42000bd-61ae-4735-a1a7-a69376d8e2f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_030_nodes_maintenance_delete_member [0.088153s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-edd9095a-95f5-4d65-97b2-491b8b6bf36a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_123_lessee_admin_cannot_send_non_masking_interrupt [0.150891s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf63e9e1-6246-4c03-93d2-2e8ef44454cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_124_lessee_manager_cannot_send_non_masking_interrupt [0.098730s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c527591e-00c9-41f8-91c4-a17f712d4125 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.155565s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98c0203b-671a-4f3a-9748-979902a7af69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_125_third_party_admin_cannot_send_non_masking_interrupt [0.119331s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56ff9391-bc95-47e6-be07-e82e9ee480aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.135472s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4afe2f59-fa34-4629-83b5-94cba77dfab3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.405334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.041995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.036222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_060_nodes_states_raid_put_member [0.602974s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-043bf8ae-d31f-4eae-98b2-3af3b50512df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.124895s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-faae058e-17da-429e-8507-52a77ca67d96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_126_owner_reader_get_states [0.203590s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db746143-33ff-4abb-8b42-622b282fea1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.079346s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.046000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.100294s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31cd87c3-dca1-4f7f-a6f8-80ac69f54713 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.113889s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.046173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.154281s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8dbf5a1e-0c49-43fd-9b5a-f9e7864ac26a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_127_lessee_reader_get_states [0.260289s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-808d2b57-2f5e-487f-b2fb-f106196131ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.078126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_061_nodes_states_raid_put_observer [0.425732s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c0a944a-0ca9-44e9-a427-235e500d2731 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.092172s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.138885s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8c6a6dd-1193-40c6-9f1d-c8707999d174 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.113691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_128_third_part_admin_cannot_get_states [0.254189s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1087b6e-acb6-4e4b-8f54-caa14de787ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.143070s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea2101d6-d95b-4691-a070-53edcd03e8ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.080884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.041269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.095620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.208047s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6af3bdb-5758-4767-972a-481422f42767 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_062_nodes_states_console_get_admin [0.381347s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c21549b-c4ac-47e2-98dd-a9f5e3a7c9cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.113336s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23c03b5c-f99f-460d-9172-e52e2c435135 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_129_owner_admin_can_put_power_state_change [0.361141s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70d2a397-da0f-474f-8119-ea48f652b59f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.239544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_063_nodes_states_console_get_member [0.242752s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-389e99b9-68ec-4ed3-9a7d-e4fc95484949 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.166590s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0573a68-34b6-4658-817c-7427192f4e88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.072360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.079336s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_130_owner_manager_can_put_power_state_change [0.278502s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efa908b3-a91c-42a8-8098-a7979ccfca8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.092807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_131_lessee_admin_can_put_power_state_change [0.079545s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec126e07-da1b-4888-9ffe-a86a00535785 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.226001s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e5fd83e-4d5c-4c00-b20c-ba77a733560a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.111986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.125822s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f04865b-ae79-4736-9c2a-581ee7360f3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.103856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.094688s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecabb90b-3a4f-419a-a981-a74040266ba8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_064_nodes_states_console_put_admin [0.515366s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4facc2e-0f81-4187-9b12-ee3adae115d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.114993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_044_nodes_states_get_admin [0.085244s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0e368d4-f97b-4429-9830-3bdcc779ade7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_045_nodes_states_get_member [0.082046s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cedfa906-21ad-42d0-9677-22a8e9614f59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_132_lessee_manager_can_put_power_state_change [0.407572s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca6deb89-94ef-4f22-a5fe-37d0efbf6ecd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.145554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_046_nodes_states_get_observer [0.073252s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b70e63ce-2c8d-4bb1-9b21-ed9cb5524545 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.074472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_047_nodes_states_power_put_admin [0.074748s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25e13dc1-ae95-499a-858e-94bb26ef6d81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_133_owner_member_can_put_power_state_change [0.167874s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-714ddc26-965f-4333-aeed-520cc3e5a21d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.090010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_048_nodes_states_power_put_member [0.083076s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8614bdf-b378-4999-b745-3cfef9a6c579 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.064225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_065_nodes_states_console_put_member [0.409951s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67c38898-9452-42bd-980b-0971ff8b665e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_049_nodes_states_power_put_observer [0.081094s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d894d158-e610-420f-a474-423e292fa22f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_134_lessee_member_can_put_power_state_change [0.155407s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-132616a2-ef2d-44ec-b48c-a6a645d853e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.074131s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-689e6126-8cc7-489f-a535-45fd8b4c131c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.121783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_135_owner_reader_cannot_put_power_state_change [0.099335s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power WITH {'target': 'power on'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0c5bd05-312d-4f0c-992d-91b872e5680c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.072420s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe9daab9-796b-4be3-b6cc-676a1326c282 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.125865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_136_lessee_reader_cannot_put_power_state_change [0.110474s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power WITH {'target': 'power on'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0027b39e-f7ca-42f6-bb14-d7a51e2bf69c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.086903s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82e73207-195f-4755-8114-a13a69bf1fa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.078325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.090662s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9761bea6-acc4-423c-9f37-de7cb0a11ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_066_nodes_states_console_put_observer [0.345271s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb5b0901-273d-4768-b6fe-63fc236a2402 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.093844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.032976s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_release_versions [0.023863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.145460s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de0a3205-6900-4a69-af69-9f38268deb7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_137_third_party_admin_cannot_put_power_state_change [0.265828s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2332416-6768-4300-ac9f-e80003a569bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.065832s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.065588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_067_nodes_vendor_passthru_methods_get_admin [0.253266s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fbfccca4-c687-41bb-b422-d893f1dc4a91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.074776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.467011s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d54c503-cd11-425a-acd3-d5a6f9d19fea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_member [0.439806s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45bfe144-81fc-4812-b63c-f1db7224335f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_138_owner_admin_can_put_boot_mode_state_change [0.595974s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b04f406-e85e-41e4-b3f8-7abd11435574 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_056_nodes_states_provision_put_admin [0.332169s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb00f604-f9ea-450a-8774-ffd13814972c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_observer [0.290168s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e0d20de-32f4-4a8c-9f7b-b9465f6aa22a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_139_owner_manager_can_put_boot_mode_state_change [0.234878s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ff57e7d-2160-477a-876c-417430e64272 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.909241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_057_nodes_states_provision_put_member [0.330305s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-780c15ef-8cc9-4535-a1f5-768ec5ccd83d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_070_nodes_vendor_passthru_get_admin [0.400311s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81b18a2c-f4d8-49a6-b21a-a19fae34f292 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_071_nodes_vendor_passthru_get_member [0.083824s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b2137ee-a3f6-4b14-ace4-b5c89679a1c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_140_lessee_admin_can_put_boot_mode_state_change [0.493733s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93678519-ede7-45c2-bda8-389ef84afbec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_072_nodes_vendor_passthru_get_observer [0.079374s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c31fec4c-7105-4d1c-981c-14dcb9fe7373 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_073_nodes_vendor_passthru_post_admin [0.088958s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b573300-2d65-4071-ae7b-c66d250e45fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_074_nodes_vendor_passthru_post_member [0.084882s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bebba856-3252-4dfa-a656-99faeda259e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_swift.SwiftTestCase.test_create_object [0.609106s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_075_nodes_vendor_passthru_post_observer [0.105197s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8de646f-dd6c-4aec-b61b-73080505c80a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_076_nodes_vendor_passthru_put_admin [0.092857s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b3ff792-496c-4ce8-81af-2300cc2da203 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_058_nodes_states_provision_put_observer [0.678624s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4fee5dcd-8a52-41ce-a97a-418298b93549 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_077_nodes_vendor_passthru_put_member [0.074567s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bcfd8cb-0807-4644-80d6-d40da48cb281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_141_lessee_manager_can_put_boot_mode_state_change [0.655950s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4378d02-e39c-40f5-ab98-cead791c3a7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_078_nodes_vendor_passthru_put_observer [0.172355s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29cb2dbd-1f63-4dd6-a320-2a9fbc538c5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_079_nodes_vendor_passthru_delete_admin [0.152264s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96e6de5a-1e2b-4077-a4b8-8a3231053939 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_059_nodes_states_raid_put_admin [0.485344s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ef19744-6544-4fec-82a9-1905255d47fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_060_nodes_states_raid_put_member [0.068850s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69347a89-ce96-4478-9a3d-4c36083387e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_080_nodes_vendor_passthru_delete_member [0.240940s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57e7953a-d92e-4f04-8aa1-648d1ab70fbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_061_nodes_states_raid_put_observer [0.069430s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1b95f95-ed39-49da-a9f9-ee607ad6b147 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_062_nodes_states_console_get_admin [0.066457s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-545bcc63-08b6-4dc1-a4ba-410736b079a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_063_nodes_states_console_get_member [0.066084s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56d4b8c9-cf4f-4b05-a21c-ed9524d22c0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_142_owner_member_can_put_boot_mode_state_change [0.573660s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b18b7b1-e05e-404d-a616-a26c7766d1eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_081_nodes_vendor_passthru_delete_observer [0.164082s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04de0d9f-3097-4dc0-8c04-8dddabdd8a15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_064_nodes_states_console_put_admin [0.070497s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e0dfe87-b0e3-4370-92a9-016dd40ed4f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_065_nodes_states_console_put_member [0.075324s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a246068-e932-4afd-8382-4ac0e389c01e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_082_nodes_traits_get_admin [0.149084s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e48516b1-8195-4347-9eb4-9eaa5687e4ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_066_nodes_states_console_put_observer [0.081504s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d09690b0-9465-4062-8fe3-2ace34440e96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_143_lessee_member_can_put_boot_mode_state_change [0.276911s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d00d282b-da03-4b5b-8e60-d17bdebe3980 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_067_nodes_vendor_passthru_methods_get_admin [0.079151s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f2b0ba9-1d5b-40ed-8e6c-d1985f0c9d1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_member [0.069430s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9397c1cd-e219-4da0-b108-3b4917cbf186 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_083_nodes_traits_get_member [0.221671s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f3c53b0-c0cc-4176-99cf-072c986fee15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_observer [0.088414s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d15d39a-ad76-42e4-a775-aa6979cd18cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_084_nodes_traits_get_observer [0.145020s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d84a9903-0de8-4571-b57b-134d754405cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_070_nodes_vendor_passthru_get_admin [0.126084s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d9d362b-89fc-4cf5-b2fc-8bffd9efeef5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_144_owner_reader_cannot_put_boot_mode_state_change [0.326751s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode WITH {'target': 'uefi'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c27a4bf7-2308-47b6-ace7-71e1e8bebfbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_071_nodes_vendor_passthru_get_member [0.074470s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4955a720-f6f1-4a9f-9244-e4d42c1b9253 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_085_nodes_traits_put_admin [0.133334s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf833ed4-22fc-471e-a6c3-dbf655d3f7da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_072_nodes_vendor_passthru_get_observer [0.082094s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22cd39fa-2baa-4370-93d0-3afa04eb8a35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_073_nodes_vendor_passthru_post_admin [0.095210s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b18e75c-9863-4479-8098-2504657e2975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_145_lessee_reader_cannot_put_boot_mode_state_change [0.300941s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode WITH {'target': 'uefi'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-369e9ba3-6f76-4871-a7ea-ee8c9847e1a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_086_nodes_traits_put_member [0.305146s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7347dcc4-4481-4b0e-8bcc-c5b1e065c77c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_074_nodes_vendor_passthru_post_member [0.140868s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0452796b-6854-40bd-8b13-fa08fcc68b39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [1.950358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_075_nodes_vendor_passthru_post_observer [0.190884s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b313d38e-94c7-4de7-b769-66076881eaf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_146_third_party_admin_cannot_put_boot_mode_state_change [0.318619s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-546e3c18-723e-4bd1-9d3f-7212c99cc699 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_076_nodes_vendor_passthru_put_admin [0.110058s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-431c8932-93d7-42b7-904b-9cbb24928606 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_077_nodes_vendor_passthru_put_member [0.131551s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a9301e5-d223-44c4-b917-3bdd2f990f4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_087_nodes_traits_put_observer [0.467775s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-265cbdda-5107-4584-9eef-9bfc896d10cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_078_nodes_vendor_passthru_put_observer [0.129623s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bff7bb8a-ff50-4721-89d2-6da81110d004 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_147_owner_admin_can_put_secure_boot_state_change [0.394281s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efa1e422-db96-4f7d-b88e-961318a6caeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_079_nodes_vendor_passthru_delete_admin [0.122619s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c598362d-333e-4666-baa3-e8eecdb6be22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_080_nodes_vendor_passthru_delete_member [0.170434s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c5ca8a1-4b9b-4513-b41f-d82cc704fc06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_081_nodes_vendor_passthru_delete_observer [0.069212s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33fdfdeb-9077-4d14-ab89-8b32b31e1102 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_082_nodes_traits_get_admin [0.144494s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86fafd01-1370-4c1f-a904-55b66c4b47a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_148_owner_manager_can_put_secure_boot_state_change [0.467565s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6c50814-8844-4d83-b069-f4c78c39a10b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_083_nodes_traits_get_member [0.124392s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87584ed8-bbdf-47a9-970d-6445668a4a13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_084_nodes_traits_get_observer [0.078898s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6a19490-e97a-4a1e-912c-7a8eef0d6511 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_085_nodes_traits_put_admin [0.091663s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5643d7a3-3b1e-40d0-a3ff-41cf22a6576d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_088_nodes_traits_delete_admin [0.977649s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff1914a1-c6a4-4f76-9907-464e29dbe1b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_086_nodes_traits_put_member [0.171442s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b787909-40c5-4034-93bc-0861e46ca2d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_149_lessee_admin_can_put_secure_boot_state_change [0.463355s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2506c62e-e435-493d-a5e4-affa2d1640c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_089_nodes_traits_delete_member [0.230384s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45b4c367-fd59-4bfa-9c26-be33e61d8ad0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_swift.SwiftTestCase.test_create_object_create_object_fails [1.610790s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_087_nodes_traits_put_observer [0.215729s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02d2dc12-aa12-4d62-bfad-bc43571e1385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_150_lessee_manager_can_put_secure_boot_state_change [0.368070s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fa6e6a1-489c-4335-9d7a-1515ab2a91f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_090_nodes_traits_delete_observer [0.319123s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e79f0772-1858-4078-b72d-59a9e50d7c32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_151_owner_member_can_put_secure_boot_state_change [0.197638s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e07d1cdd-36e2-46fa-86cc-6a1f3902dc29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_088_nodes_traits_delete_admin [0.428738s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af5e9455-6f79-4313-9abc-80139699e401 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_091_nodes_traits_trait_put_admin [0.360578s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa44c847-d4d5-42f0-929d-fd037cab0b35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_089_nodes_traits_delete_member [0.231317s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92b49d73-5874-434a-9767-41b81a2eab26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_092_nodes_traits_trait_put_member [0.226434s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-029ea24d-be92-406f-a54e-d77fae10b094 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_152_lessee_member_can_put_secure_boot_state_change [0.486603s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-725c644e-f234-4130-9afb-30e745effcb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_090_nodes_traits_delete_observer [0.283928s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69d2256f-3571-43e5-ac70-c60ae77684b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_153_owner_reader_cannot_put_secure_boot_state_change [0.288371s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot WITH {'target': 'true'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69cc6af4-0a82-475f-8f04-9738e4c413f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_093_nodes_traits_trait_put_observer [0.393256s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9429cb92-c362-441c-bab5-c37f80738b92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_154_lessee_reader_cannot_put_secure_boot_state_change [0.207044s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot WITH {'target': 'true'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f3b30d5-9d19-4497-8484-30203fe6e11c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_091_nodes_traits_trait_put_admin [0.439758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15ce1398-4fe6-4811-a653-54a581d60909 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_from_data [1.540426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_094_nodes_traits_trait_delete_admin [0.327389s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4b9404e-2ba8-481d-bf2a-699c43711bc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_092_nodes_traits_trait_put_member [0.378757s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-489bc407-3dac-4fdc-95b3-794a0c34197f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_155_third_party_admin_cannot_put_secure_boot_state_change [0.422685s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b03a230-35db-4313-beb6-03a315626db8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_095_nodes_traits_trait_delete_member [0.276949s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-148b4669-36ef-4dfa-b49e-3e7c8da7b1f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_156_owner_admin_can_change_provision_state [0.225337s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3a96c03-4225-485c-9f10-1f0897490e74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_093_nodes_traits_trait_put_observer [0.276760s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94fc27cc-1047-4bae-b568-31d140a03c57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_096_nodes_traits_trait_delete_observer [0.347449s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-058f077f-0da1-42c5-8f98-8b64f1cdcf40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_094_nodes_traits_trait_delete_admin [0.295656s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62a062f0-81a3-4304-9dad-9c8b2afc4cda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_157_owner_manager_can_change_provision_state [0.371171s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f86d938-00d6-4586-9749-f0ba3649994d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_158_owner_member_can_change_provision_state [0.230801s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff2332fd-fc1e-4358-9cb2-b3afd66bd656 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_097_nodes_vifs_get_admin [0.457811s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e105603-85b8-443f-b7bb-8ad4f24b7412 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_095_nodes_traits_trait_delete_member [0.299777s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8904b4ea-8c68-4d9b-9213-11a750f6a371 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_098_nodes_vifs_get_member [0.175054s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a31ad62e-6a7c-41f8-840d-8e100c83d6c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_099_nodes_vifs_get_observer [0.144462s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2bd302f-e888-4b3a-873b-005dcf36ac74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_159_lessee_admin_can_change_provision_state [0.340611s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e959f39-71f8-4537-a79d-e5d42dccf54c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_096_nodes_traits_trait_delete_observer [0.361833s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c550c6f6-4f73-44d9-a41e-4957d73273a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_from_data_create_container_fails [1.740065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_160_lessee_manager_can_change_provision_state [0.445824s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f0e168c-b74b-4450-ac37-f022a788e1eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_097_nodes_vifs_get_admin [0.482561s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fc2f1e1-3a30-4788-8d36-9cb933a6fd05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_100_nodes_vifs_post_admin [0.571286s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26e8414d-5b03-4c1b-bf07-2d424e6c30d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_161_lessee_member_cannot_change_provision_state [0.433414s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'deploy'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1b2de52-67eb-4266-bc8d-18b9d75fb8ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_101_nodes_vifs_post_member [0.364669s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f502bfb5-de2d-4be5-98c3-345aac31c742 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_102_nodes_vifs_post_observer [0.182143s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-749830f8-5b14-481a-addb-05224967e9d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_162_third_party_admin_cannot_change_provision_state [0.238479s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26675f90-4c24-4472-86e4-008ad9ce1688 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_163_service_can_change_provision_state_for_own_nodes [0.179549s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fad00bc0-476e-4abf-960d-58ff9544ce02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_103_nodes_vifs_node_vif_ident_delete_admin [0.356878s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65fee9c6-3a09-4882-956f-64a1b0c9af24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_164_service_cannot_change_provision_state [0.179172s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8430a8ce-43a2-4f11-83df-73facd6f22b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_098_nodes_vifs_get_member [0.975809s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc0fa5e6-d29a-4545-8de7-cc5f36fc27a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_165_owner_admin_can_set_raid_config [0.155826s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04b3a76c-0482-4010-8be4-ebff6fdad3e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_099_nodes_vifs_get_observer [0.174076s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21930a38-c695-4922-b131-d1b0287d7a19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_166_owner_manager_can_set_raid_config [0.107761s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bf6b827-1644-469c-8bb4-92403f62bf7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_167_lessee_admin_cannot_set_raid_config [0.118288s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cda1497-e1b7-4e19-a20c-8e8b539cde40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_100_nodes_vifs_post_admin [0.230452s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2165fa91-ce58-4ab4-a95d-002265e23eb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_168_lessee_manager_cannot_set_raid_config [0.139323s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-326ceba6-0ea9-4a8e-a9bf-be74a00edc3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_101_nodes_vifs_post_member [0.177205s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f927b3a4-6141-4fd3-87ce-cc267f6eaf0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_member [0.654027s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e697487-ba06-40bd-9007-88c40a0fd99d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_169_owner_member_can_set_raid_config [0.140493s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4d7dfeb-0dc8-431d-a0f5-7b5834b1fbfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_102_nodes_vifs_post_observer [0.114476s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97dd2500-4865-4d0d-a003-d9396a42dea0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_from_data_create_object_fails [2.059477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_170_lessee_member_cannot_set_raid_config [0.191821s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e8abfb9-629f-426b-b48a-0cbfb40eb10e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_171_third_party_admin_cannot_set_raid_config [0.173193s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-252f56a1-9f91-482c-8d75-c2f8046fd933 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_103_nodes_vifs_node_vif_ident_delete_admin [0.332244s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f5f138f-b70a-4c4c-9b4a-4c01ece9a206 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_observer [0.493653s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d376e91-c4b7-463c-8221-d712c74769e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_member [0.296600s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-feff54e2-187c-4d78-90db-c0ebe38e142e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_106_nodes_management_indicators_get_admin [0.440821s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6eeec8de-713f-456a-997f-add839fcb045 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_observer [0.174145s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a92e427-e8ee-495b-a84a-19c4a439475b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_107_nodes_management_indicators_get_member [0.124860s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-197bd0d5-d69e-4834-8328-51a0a1589ca3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_106_nodes_management_indicators_get_admin [0.182072s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e10c8ae3-f8be-4948-a117-5838b1db339d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_107_nodes_management_indicators_get_member [0.130153s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d33aded-b2ed-468e-91b3-02856e232f2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_108_nodes_management_indicators_get_observer [0.131255s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c906a33-ae3e-4268-88fa-3d1f3b9a1ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_108_nodes_management_indicators_get_observer [0.368685s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33857245-4f2f-471c-bfe5-2ff6aa0af405 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_112_portgroups_get_admin [0.122606s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60f6b2a7-e42b-4c58-a3a9-b75731021488 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_172_service_cannot_set_raid_config [1.546092s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-694b0830-41b1-4622-b4f6-d8084dde0452 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_113_portgroups_get_member [0.079944s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5449ac78-80f6-45c6-9887-89b6e961eae9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_114_portgroups_get_observer [0.150961s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f2bc465-a968-4326-99ff-42db448fc216 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_173_owner_admin_can_get_console [0.267253s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59fe4ddf-64c6-48b9-9845-060e4431c908 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_115_portgroups_post_admin [0.125385s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/786d327a-27a8-4804-afaf-73d0a6720402 DEBUG util.py:445: Openstack-Request-Id: req-d1fe95ce-7623-44da-8570-15f0991b6ade DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "786d327a-27a8-4804-afaf-73d0a6720402", "created_at": "2024-03-19T00:21:17.555655+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "links": [{"href": "http://localhost/v1/portgroups/786d327a-27a8-4804-afaf-73d0a6720402", "rel": "self"}, {"href": "http://localhost/portgroups/786d327a-27a8-4804-afaf-73d0a6720402", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/786d327a-27a8-4804-afaf-73d0a6720402/ports", "rel": "self"}, {"href": "http://localhost/portgroups/786d327a-27a8-4804-afaf-73d0a6720402/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_116_portgroups_post_member [0.141922s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d432d752-179e-4cf8-a49c-8e4f4156b2a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_112_portgroups_get_admin [0.265549s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fbbba514-5eb6-48d6-8ee4-4a6813c49407 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_117_portgroups_post_observer [0.199501s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6537c341-daf8-4fd3-96a0-47e706eddcaf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_174_owner_manager_can_get_console [0.387047s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d16de9ea-caf9-43f3-9b80-3152aa863c21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_113_portgroups_get_member [0.236135s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32769892-02e2-436b-9e9d-8fc90a9590e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_118_portgroups_detail_get_admin [0.278034s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3da4f868-0f14-4c59-b424-393e418e0e55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:21:18.075854+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_114_portgroups_get_observer [0.174606s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e337f39b-1a7f-465c-9f99-93e91508ee76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_175_owner_service_can_get_console [0.377283s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10d204af-fe79-4a26-8c08-aebb5c9ae91b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_115_portgroups_post_admin [0.107370s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7515d655-1947-4101-adb1-3e53d5e89b55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [2.891812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_116_portgroups_post_member [0.080865s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ed1f2d8-1ab7-48d7-a8d5-6fd4abae6333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_117_portgroups_post_observer [0.077302s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa533056-37c1-4755-a890-dea75db6fa0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_119_portgroups_detail_get_member [0.375115s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3c60b7e-6952-4844-9e12-1db503540eac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_118_portgroups_detail_get_admin [0.084074s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd33be5a-1639-4775-af14-edfbcc061dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_176_lessee_admin_cannot_get_console [0.359034s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-836ff967-4105-4d91-9f15-f4fa204166db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_119_portgroups_detail_get_member [0.084131s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70a3edec-acf2-48ae-bdb2-98b606743fbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_120_portgroups_detail_get_observer [0.072566s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88e71aba-503f-4344-8f0e-002e758ff141 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_121_portgroups_portgroup_ident_get_admin [0.128738s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62fb3f69-0ef4-4a22-8069-3db49aaba165 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_120_portgroups_detail_get_observer [0.359105s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f00690cb-1295-4f7a-afda-cc1c3052b0c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:21:18.764175+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_177_lessee_manager_cannot_get_console [0.292731s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74ee7bcc-c243-411f-85be-432e777ba005 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_121_portgroups_portgroup_ident_get_admin [0.321868s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b406e768-3a8b-48d3-979b-82b872a8db31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:21:19.128911+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_122_portgroups_portgroup_ident_get_member [0.421673s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efbf88d3-482b-4c6c-846f-5a50c3e793d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_123_portgroups_portgroup_ident_get_observer [0.078900s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-274a0c17-952c-4efd-bbfd-1afe9a8bbeb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_124_portgroups_portgroup_ident_patch_admin [0.082885s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc51ecdc-b958-4584-a5f2-c517a52f0ee6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_125_portgroups_portgroup_ident_patch_member [0.074503s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-452c74bc-2b5e-47a0-b175-52a233ab7f46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_178_owner_member_can_get_console [0.633795s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-419612a8-46e3-4471-9ce2-b003d07db897 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_122_portgroups_portgroup_ident_get_member [0.332321s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e6bfc43-0653-4378-91aa-ac5d76d90a6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_126_portgroups_portgroup_ident_patch_observer [0.085269s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03d5382d-982b-41ad-8478-2f1329986552 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_179_lessee_member_cannot_get_console [0.113282s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c0566ca-1621-45d4-86ff-70600a17eb37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_127_portgroups_portgroup_ident_delete_admin [0.071844s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-894c9d62-813d-484b-9a80-88fcf786f454 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_180_owner_reader_cannot_get_console [0.135256s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74372462-7a2d-417f-8f2a-311ab718a923 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_128_portgroups_portgroup_ident_delete_member [0.247153s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4cbab1d-b293-48a8-b91e-4bcab240e1ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_181_lessee_reader_cannot_get_console [0.173216s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab9abf30-d359-42c6-92fc-4dbd4e946289 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_129_portgroups_portgroup_ident_delete_observer [0.073560s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8cc2e2cd-7e38-41f6-8046-d992c7cc33fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_130_nodes_portgroups_get_admin [0.069142s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5dca258-6d6a-4730-a6fa-14104aff00e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_123_portgroups_portgroup_ident_get_observer [0.650993s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d95e7ec7-8252-4346-a5d0-fcbddb461605 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:21:19.886809+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_182_third_party_admin_cannot_get_console [0.270004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa3813af-7ad6-4cfa-9e95-de313841ecad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_131_nodes_portgroups_get_member [0.280747s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6537dd4d-f5e2-4fb4-8c9c-f68a1f922686 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_swift.SwiftTestCase.test_delete_object_exc [2.096444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_124_portgroups_portgroup_ident_patch_admin [0.273387s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f4883ac-5b33-4c8d-957e-81e36b313156 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_183_owner_admin_can_set_console [0.310880s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56ae31c0-101e-4d1b-aa3a-b95311d80418 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_132_nodes_portgroups_get_observer [0.239683s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3431834f-3e21-49eb-8adf-60b7cab89453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_125_portgroups_portgroup_ident_patch_member [0.188626s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb7972ea-390a-47d0-a688-880397ef0e41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_126_portgroups_portgroup_ident_patch_observer [0.190161s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db46b8b4-3564-4d27-b890-462b80413115 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_133_nodes_portgroups_detail_get_admin [0.288457s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25615888-1d38-44ff-ac5c-c8d21be709e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.424888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_184_owner_manager_can_set_console [0.383590s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4a51a58-066c-4fb4-bd70-917f75355ad6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_134_nodes_portgroups_detail_get_member [0.130449s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6e4d043-f9d0-4e9c-aa51-69f7b71657e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_135_nodes_portgroups_detail_get_observer [0.185614s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3c52941-ddfc-430f-a282-3fd46e2fe35f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_185_lessee_admin_cannot_set_console [0.247813s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {'enabled': True} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c460d9e-1129-4b61-9d69-bb59a98bbc27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_127_portgroups_portgroup_ident_delete_admin [0.334949s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fce35539-9ac7-41fd-b2e8-da499809f1b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_136_ports_get_admin [0.180309s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d35b6c01-3e41-4bef-afae-9bd6ad4a0544 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_137_ports_get_member [0.118302s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c69d1e7-5753-4a14-94fe-ef56fa58c606 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_128_portgroups_portgroup_ident_delete_member [0.287804s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aeeb3a2f-fa85-484b-ab79-e95ac5fa26f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_186_lessee_manager_cannot_set_console [0.443402s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {'enabled': True} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f63d5d4-e83e-461a-8445-a66972b23f45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_138_ports_get_observer [0.190064s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-770c7deb-d73b-40f4-a374-161def481717 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_129_portgroups_portgroup_ident_delete_observer [0.257987s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8801b36-fd46-4497-8e6e-8e47fbb7b955 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_139_ports_post_admin [0.222927s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f686a1ec-38ee-4b21-8078-64d47e201bdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_130_nodes_portgroups_get_admin [0.243451s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56d31284-6d16-4ba2-9578-7b2f5e45c7bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_140_ports_post_member [0.152836s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08c5d57f-b9e0-47a2-88fd-b2cf1e5c332b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [1.168528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.114928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_141_ports_post_observer [0.140447s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc420b8e-4c0c-4a1b-a17f-8e70e39e070c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.047951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_187_owner_member_can_set_console [0.605452s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-681d22a7-8ae1-48d1-964e-76ba360da29c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.059819s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.044639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_142_ports_detail_get_admin [0.190816s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c8dd4f3-1b1c-4542-bf65-bab9c07e5476 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.069781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_131_nodes_portgroups_get_member [0.402859s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf18c132-2492-448a-9a09-3684e2709d04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.021306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.021661s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.031920s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.029065s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.024327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_143_ports_detail_get_member [0.165795s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b276ea5d-0955-4a30-9c50-26ef9eb9cc75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.032986s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.089034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.059415s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.050224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_144_ports_detail_get_observer [0.234979s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-049cbd68-dd92-4e39-8d7f-8e1efab7b68e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.056304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_188_lessee_member_cannot_set_console [0.591486s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {'enabled': True} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09e01c58-aa3e-4808-84f6-6297d87a5517 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.038576s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.034339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_145_ports_port_id_get_admin [0.144135s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee5bcf10-c991-4608-a115-0d405cb9f436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.054637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient [0.061585s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_good [0.050821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_146_ports_port_id_get_member [0.141869s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-930087be-9013-4098-94bf-b64991afc49c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_recovers [0.023226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_warning_only [0.020200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.019792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.030645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_132_nodes_portgroups_get_observer [0.775432s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe1a226e-9457-4fde-a57f-cb6f9588fb55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.032908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_147_ports_port_id_get_observer [0.131884s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85fd6d2c-b2b1-40f0-b5af-c10ad8250f53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_allocations.DoAllocateTestCase.test_name_match_first [0.071717s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_148_ports_port_id_patch_admin [0.097981s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b224964-f74d-4571-87fd-c1ce24c35e9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.059694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.082487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_149_ports_port_id_patch_member [0.143340s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64f0ae46-9b35-49f1-8704-1e013af2c309 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_189_owner_service_can_set_console [0.618201s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0651646-bb0e-4a53-b0ec-f941d4ae2372 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.071746s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.069663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_150_ports_port_id_patch_observer [0.169881s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf110db7-44bc-4f8a-8821-8270ba803de8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_133_nodes_portgroups_detail_get_admin [0.513798s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ece66d2c-677d-48b4-bc2f-86ac4073844a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:21:23.461730+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_151_ports_port_id_delete_admin [0.141484s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81e0250e-5439-4196-96eb-ead41f8ec9ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.229500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_190_service_cannot_set_console [0.414047s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e09f8801-5df5-4422-b827-44027a1dd194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.288946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_134_nodes_portgroups_detail_get_member [0.418476s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1c6a3dd-2dc8-4397-9985-a5e00cf8f04d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_152_ports_port_id_delete_member [0.397182s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d78f3b57-61db-422e-9e8a-1b80fb5202ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_191_owner_admin_cannot_get_vendor_passthru_methods [0.462485s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ddd0812-a06f-4bfc-9f9c-b69485fcece1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.354336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_135_nodes_portgroups_detail_get_observer [0.428894s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f61c9ae1-5c0c-4270-99aa-e84dad388c5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:21:24.407452+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_153_ports_port_id_delete_observer [0.455446s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bae619f8-f987-42ff-89ce-e0e868c083e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_192_owner_manager_cannot_get_vendor_passthru_methods [0.425345s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1561a81-07b8-4583-84ba-937c785e99f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.376388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_154_nodes_ports_get_admin [0.160594s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47019e0b-c617-43d2-8377-b4ab0f9f3333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_136_ports_get_admin [0.404287s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dedb8edb-b0fa-480b-9988-faa013563976 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_155_nodes_ports_get_member [0.164826s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c7e9089-93dc-422b-8712-fe790183b91d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_156_nodes_ports_get_observer [0.222493s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60d2c040-8ab1-4c53-b91d-21ed637684ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_193_owner_service_cannot_get_vendor_passthru_methods [0.578112s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c45eace1-f34e-4586-8771-6c65fc8710ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_157_nodes_ports_detail_get_admin [0.126561s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9b23838-7eb9-4708-bf57-a13e78792b39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.685933s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_158_nodes_ports_detail_get_member [0.237767s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ace6e60-c800-4fbc-80d1-5bde1e622a3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_159_nodes_ports_detail_get_observer [0.097841s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b9f34fa-cb8a-4cb6-95c8-d8f3ade3be49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_194_owner_member_cannot_get_vendor_passthru_methods [0.487375s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8c65c46-baf2-4b72-8219-1885ab50e117 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.375283s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_195_owner_reader_cannot_get_vendor_passthru_methods [0.092362s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5b6ba60-8610-422b-9f82-866d82722c6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_160_portgroups_ports_get_admin [0.274021s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d8fe3c7-5457-4a3d-88b7-6234836799ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_196_lessee_admin_cannot_get_vendor_passthru_methods [0.099642s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25ca6037-a123-4a28-a66d-f3a7bcecb50e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_161_portgroups_ports_get_member [0.124703s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4324e6dc-c360-43d5-ba16-c24e7d41cbd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_197_lessee_manager_cannot_get_vendor_passthru_methods [0.087252s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8165c869-c69b-42d2-87e0-653073fe617f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_198_lessee_member_cannot_get_vendor_passthru_methods [0.105102s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4615530a-08e5-4cff-b24a-f5159edd8428 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_199_lessee_reader_cannot_get_vendor_passthru_methods [0.085123s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41275a77-b06d-45a8-9136-0697b15bc665 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.474929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_162_portgroups_ports_get_observer [0.249004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7aca9d45-f5c9-49ba-97e4-92c19c304ef1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_200_owner_admin_cannot_get_vendor_passthru [0.097586s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05c2f1ee-a1f2-4830-98b1-d75ab06623ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_137_ports_get_member [1.484292s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c5d9047-39f7-4802-9ea5-88e4b622a705 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_201_owner_manager_cannot_get_vendor_passthru [0.087787s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f07e3d14-cfa2-4552-b3c6-f0168249588b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_202_owner_service_cannot_get_vendor_passthru [0.085288s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67d469bd-e9d1-4f0c-9aa6-911460be7d75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_203_owner_member_cannot_get_vendor_passthru [0.094366s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f1684c8-cb01-4bfb-997f-6f6ddc3a0002 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.339037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_204_owner_reader_cannot_get_vendor_passthru [0.085905s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e903f367-1c0a-4a71-90d4-98020943e65e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_163_portgroups_ports_detail_get_admin [0.483246s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58adc76c-fce6-480f-8689-17633d44dc6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_138_ports_get_observer [0.468788s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf431d32-832b-4bdd-a27e-c6f5a2081e8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_205_lessee_admin_cannot_get_vendor_passthru [0.216651s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9aac002-bf41-4984-bb5d-4d9cf8dc6cb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_164_portgroups_ports_detail_get_member [0.180940s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3ea36d2-6d35-4ef2-96eb-bf00edfcdb44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.433745s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_165_portgroups_ports_detail_get_observer [0.107824s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65d08109-6aa4-4c89-9d64-41dcc6d00fcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.064624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.056900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_166_volume_get_admin [0.150754s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38768c37-e987-4bb0-bc67-7121c11443db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.120470s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.042908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_167_volume_get_member [0.130831s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78fb4ebc-5a85-44c7-9010-258ec1b5e046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_206_lessee_manager_cannot_get_vendor_passthru [0.537498s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f980b0ba-fb51-42c3-9b66-03ef6da9b6aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_168_volume_get_observer [0.087164s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25da6d76-670e-43ef-ab08-1b7433779749 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_139_ports_post_admin [0.664977s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2843dc35-3d42-4074-8a0d-9fe78828d4ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_169_volume_connectors_get_admin [0.298283s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a02f41df-1c35-43f9-b7d5-4f028de94e29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_170_volume_connectors_get_member [0.087484s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2df459c-d0db-4a9f-9a70-4a6b0539aecc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_171_volume_connectors_get_observer [0.076759s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6d6410b-08f9-4183-8512-8752b4439dd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_207_lessee_member_cannot_get_vendor_passthru [0.493061s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-871f1238-997c-42d1-a7f8-24992a300200 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_140_ports_post_member [0.505546s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5a62dbc-19f7-4a20-9f5f-3a177f2bcea3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_172_volume_connectors_post_admin [0.082348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f8375f6-709e-43e3-8848-fa5015adf527 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_173_volume_connectors_post_member [0.074758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49cd52a4-a375-4659-a575-c25f6404602a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_174_volume_connectors_post_observer [0.093651s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d22095bf-19e1-4880-aed4-f2a2cd5b731f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_175_volume_volume_connector_id_get_admin [0.083781s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e33774d3-2af5-431e-ae78-f58d03f5dfd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_208_lessee_reader_cannot_get_vendor_passthru [0.394123s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-daaa0759-8797-48dc-b57f-fb2119679dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_176_volume_volume_connector_id_get_member [0.085171s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7423672-aa0c-4f6e-80dd-e11bfed08a03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_177_volume_volume_connector_id_get_observer [0.070560s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8bf995c9-c62b-4ae7-9229-e0951cf716bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_141_ports_post_observer [0.455605s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71906c60-cf34-44fd-862a-1caaf599b4b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_178_volume_volume_connector_id_patch_admin [0.108694s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b047bc07-4b4c-4a03-a76e-f0a4dc3e158b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [1.202481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.134918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_179_volume_volume_connector_id_patch_member [0.160262s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d31edd25-ec69-4aea-8e93-8a0d185d5f8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_180_volume_volume_connector_id_patch_observer [0.161476s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc5ae67e-2e4b-47b0-9ca0-bbd4ed78bf68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.255844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.054206s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_209_owner_admin_cannot_post_vendor_passthru [0.667311s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1bb78282-73a6-44d4-a262-2f40d63a0d04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_142_ports_detail_get_admin [0.592692s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae547c30-9d9f-4839-97d1-dea95ab1fa20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:28.913347+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_json_rpc [0.120014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_210_owner_manager_cannot_post_vendor_passthru [0.255078s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2dd3a2ef-c850-47ac-976d-72fd55ebeb40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_json_rpc_port [0.194292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_181_volume_volume_connector_id_delete_admin [0.445477s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-113cd66c-af1d-432c-9270-11bcbbfbf3cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.211615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_143_ports_detail_get_member [0.543022s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20de85a8-a35a-42b5-9d0e-b3eb9fc8b3a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.260678s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_211_owner_service_cannot_post_vendor_passthru [0.536404s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88504210-aa92-4e74-aea9-e06ee4b462a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_182_volume_volume_connector_id_delete_member [0.591560s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b755b544-25e1-4a1c-a447-8c5776bcba7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_212_owner_member_cannot_post_vendor_passthru [0.136467s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1024f93-c523-4002-acff-dc273c565847 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_no_enabled_interfaces [0.182764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_213_owner_reader_cannot_post_vendor_passthru [0.091929s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69c2e573-ff73-4209-b1b3-2e2b3ecb12ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_without_jsonrpc_port_pined_version [0.154018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_214_lessee_admin_cannot_post_vendor_passthru [0.104535s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8ef986b-c169-4dc5-94a6-1a0d6b91f2be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_215_lessee_manager_cannot_post_vendor_passthru [0.077041s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71f059cf-7cfa-4b44-8f73-a085a97dcb33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_144_ports_detail_get_observer [0.607772s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33364e6c-6bc3-44db-af8e-52c45a7c86ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:30.113886+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.129082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_216_lessee_member_cannot_post_vendor_passthru [0.109894s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98c8712c-dff3-4c1f-b6ce-a7f2e6096144 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_217_lessee_reader_cannot_post_vendor_passthru [0.096753s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d18a9f9a-0bf8-4344-9925-a7f382ac45f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_183_volume_volume_connector_id_delete_observer [0.514943s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebb15d15-568e-43e8-88d4-004f18ed323c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.217690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_218_owner_admin_cannot_put_vendor_passthru [0.111128s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b301c2d-bb24-451c-b5ba-faf27ab58bf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.106202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_219_owner_manager_cannot_put_vendor_passthru [0.088363s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c2792ed-e21a-4850-9858-cae917b74568 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_220_owner_service_cannot_put_vendor_passthru [0.089460s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7937e33f-72b2-4406-a97e-2e511695e29d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_145_ports_port_id_get_admin [0.512872s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b89d787-1ccf-4c82-8132-210c79a14383 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:30.631090+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_221_owner_member_cannot_put_vendor_passthru [0.126643s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-271927d5-86d1-4225-9fdd-c07638451cbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_184_volume_targets_get_admin [0.391855s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-889aca5a-5a5c-496f-acb4-f591f831f08c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.279476s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_222_owner_reader_cannot_put_vendor_passthru [0.180422s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-132dc86f-0116-4c86-9ddc-e32d821592d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_223_lessee_admin_cannot_put_vendor_passthru [0.080273s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab29f48b-0b36-4e3f-99bf-6b9206f2a737 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.246238s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_185_volume_targets_get_member [0.277401s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-736a5d8a-535a-46d0-97b4-0cd356c76032 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_146_ports_port_id_get_member [0.495162s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74afb978-da88-4532-9fd0-3fae55db1355 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_224_lessee_manager_cannot_put_vendor_passthru [0.152966s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15ee4b1a-b3a2-42cf-8d0c-47a984e43d22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_186_volume_targets_get_observer [0.338864s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-216db774-5bff-4d5d-8e70-0512ca0dac81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_147_ports_port_id_get_observer [0.335348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0621efaa-1ad9-44d6-bf1b-fdc39ead657a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:31.520578+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_225_lessee_member_cannot_put_vendor_passthru [0.330048s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34445053-0527-4fed-87df-2396d79b1e5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_187_volume_targets_post_admin [0.209962s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-345dd6c9-5a68-4bb3-adb2-3c986e06a524 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_188_volume_targets_post_member [0.093177s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b95915f-18c6-4876-af85-a71eeb9aedfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_226_lessee_reader_cannot_put_vendor_passthru [0.236556s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74e3b364-d548-4a8e-9966-1c4bbe6f19bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_189_volume_targets_post_observer [0.089522s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ffd3416-01d0-4e5f-9348-0abe5ccd16e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_190_volume_volume_target_id_get_admin [0.089075s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b5a56f2-4c4c-4fac-ae64-aff7b5c9e6d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.949098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_191_volume_volume_target_id_get_member [0.139930s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afe020b3-71f0-4eb8-b4f4-973fe314ebb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_227_owner_admin_cannot_delete_vendor_passthru [0.310141s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83ac19ce-9242-4ddf-8d08-758e339f2267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_148_ports_port_id_patch_admin [0.621950s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6e1b25d-904c-41bd-b392-c8c695fd3704 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_192_volume_volume_target_id_get_observer [0.202019s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9ac469d-387f-422d-891a-f6806b708a2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.354838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_228_owner_manager_cannot_delete_vendor_passthru [0.346705s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd2cf57d-902c-439c-9c63-015ecb735db4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_193_volume_volume_target_id_patch_admin [0.220359s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03f92531-8523-4cd4-bc85-e6f41e269c0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_194_volume_volume_target_id_patch_member [0.178279s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11233e2a-927e-4d30-816b-a30739ab6fa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_149_ports_port_id_patch_member [0.493092s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3356d4a-6db4-421f-ace3-aa0cc2cb3ca0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.405896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_229_owner_service_cannot_delete_vendor_passthru [0.435863s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed7cbbf4-f1da-4e6a-bfa9-e3dfad6db273 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_150_ports_port_id_patch_observer [0.252112s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0cf67d0e-0743-4b53-aa08-44b11a9388cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_195_volume_volume_target_id_patch_observer [0.289657s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a043666-e4e4-491e-aa3c-53a169ad9388 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_151_ports_port_id_delete_admin [0.124618s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24dd0d83-8eee-403a-b9c5-c08aa6e1aefe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.333811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_152_ports_port_id_delete_member [0.092446s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-079ca9af-e40c-4b48-a884-225fe20e0dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_230_owner_member_cannot_delete_vendor_passthru [0.294191s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bed095c2-11ff-4353-8b8e-6a679892c8af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_153_ports_port_id_delete_observer [0.118705s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-126a7a4d-e66f-40fc-a017-3df431cc7295 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_196_volume_volume_target_id_delete_admin [0.362563s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8828ee43-d898-489e-aafd-0c39c0c423e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_154_nodes_ports_get_admin [0.120018s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b59f0cc9-c65f-4a63-a086-c5274f9f355b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.337459s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_155_nodes_ports_get_member [0.074071s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63fa6e3e-e034-43a2-bd95-191bb51255a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_231_owner_reader_cannot_delete_vendor_passthru [0.362911s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7415118-43c5-4d44-958a-783a86893cdc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_156_nodes_ports_get_observer [0.135875s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75002464-4e4e-4167-b137-060ddc6e8ee9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_157_nodes_ports_detail_get_admin [0.122313s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f016f5a-9769-4165-9de8-e75c83b2bed3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:33.819423+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_197_volume_volume_target_id_delete_member [0.472017s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c50214b-4566-497d-9493-d644c7ea69e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_158_nodes_ports_detail_get_member [0.091697s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d465fc8d-fc67-4a72-a72b-036847a2ddd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_232_lessee_admin_cannot_delete_vendor_passthru [0.287683s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14b929ac-054b-413d-a51a-4db61d3be5c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.408566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_159_nodes_ports_detail_get_observer [0.099990s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eea65087-a390-4901-a84d-c06a7ddbb968 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:34.029181+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_233_lessee_manager_cannot_delete_vendor_passthru [0.174072s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38151567-58e5-4e73-9e01-196604edb8db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_234_lessee_member_cannot_delete_vendor_passthru [0.075804s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57e71b8b-2128-4ced-876b-8988f422bfa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.318106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_235_lessee_reader_cannot_delete_vendor_passthru [0.106857s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c23d6d78-0085-4a36-847b-961a871a295a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_236_owner_reader_get_traits [0.101317s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b7ddd98-9b8d-4698-bbee-f18f026bc8f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"traits": []} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_198_volume_volume_target_id_delete_observer [0.528701s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a196e9c9-96c2-4976-a566-fc07ea888c11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_160_portgroups_ports_get_admin [0.456627s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4fe42c9-2965-4d91-9a42-682e8429ba8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_237_lessee_reader_get_traits [0.117247s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de8ed8aa-8041-4ff3-93eb-16d735ca0d22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"traits": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_238_third_party_admin_cannot_get_traits [0.090837s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f4ab289-1991-4624-bbdf-43d489a71fea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.402815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_239_owner_admin_can_put_traits [0.092921s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37197f57-fe9c-4f68-a54a-e7bc81b693e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_240_owner_manager_can_put_traits [0.112524s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e557cd99-c453-41c3-a031-fccd775f5990 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_199_nodes_volume_get_admin [0.450605s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d65ad738-a9c2-46f9-95c8-6e4794d5edad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_241_owner_service_can_put_traits [0.088987s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5859ae9-b5bf-49cc-8efe-9264f34c3668 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_242_owner_member_cannot_put_traits [0.114031s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6aaeae39-9e8e-4b78-861b-9542352f37da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_161_portgroups_ports_get_member [0.518233s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a8c192b-18e2-4d86-93a7-71166e9f1a01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.400497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_243_lessee_admin_cannot_put_traits [0.103506s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01d7e525-e200-4a98-8606-058094914deb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_244_lessee_manager_cannot_put_traits [0.096699s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e8d59b4-7a93-4b18-8db2-4b7992c5fba1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_162_portgroups_ports_get_observer [0.267866s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef194389-5efe-4fcd-8b2f-6dcb17417a46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_245_lessee_member_cannot_put_traits [0.177347s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dce6c6a8-e941-4565-8fa2-f71873aa981f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.338815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_200_nodes_volume_get_member [0.547358s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ab60097-3bde-4af3-ba43-70a720859b97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_246_third_party_admin_cannot_put_traits [0.149078s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfda167e-02a1-48de-90ca-f5194688ba3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_201_nodes_volume_get_observer [0.295450s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94a2427e-dab2-48f2-9182-19861ab4204a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_163_portgroups_ports_detail_get_admin [0.519526s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-047f34f8-0e75-4309-a671-21194e2653f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_247_owner_admin_can_delete_traits [0.331889s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e676d200-b37b-49ed-9a58-e3d7c6db9809 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_248_owner_manager_can_delete_traits [0.080191s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5016b5e-2785-4231-ab46-0d72e3a4e8e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.608670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_249_owner_member_cannot_delete_traits [0.120290s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d885afe0-3aee-405b-8729-49cdf8a15ff7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_250_lessee_admin_cannot_delete_traits [0.096832s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8ebc324-bc66-4cae-a911-ebaf5f7f4206 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_202_nodes_volume_connectors_get_admin [0.457100s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-788fcf97-8299-4309-aeb4-ed3fab0382e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_251_lessee_manager_cannot_delete_traits [0.074620s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4ff11a4-84a8-42c1-a444-942ee108166d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_252_lessee_member_cannot_delete_traits [0.080339s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5493791-228a-45f1-939e-1a3d92d52026 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_253_third_party_admin_cannot_delete_traits [0.127563s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-047a4e6d-a276-437a-813f-82d77ae8eae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_164_portgroups_ports_detail_get_member [0.647264s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96c0a728-b9b1-4324-95c5-02fc86e3c768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_254_owner_admin_can_put_custom_traits [0.096065s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12b5e54c-eb53-4117-91b0-0e16ba41f9df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.570097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_203_nodes_volume_connectors_get_member [0.430246s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4e29131-8938-4894-9df2-ab2ffcf46ac2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_255_owner_manager_can_put_custom_traits [0.134704s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7d5deea-70b1-487c-bfb0-820f3a6da927 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_256_owner_member_cannot_put_custom_traits [0.084841s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b0fcf48-bf25-4271-822f-8876f7a04d84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.217757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_257_lessee_admin_cannot_put_custom_traits [0.091910s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bcd9e28-8180-4061-9d0f-c2a4f8fb903f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_204_nodes_volume_connectors_get_observer [0.326134s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc7c8de1-f80b-47ac-817a-e48e8b3e51fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_165_portgroups_ports_detail_get_observer [0.548634s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec6e3142-b80c-4136-b5a6-84854d3c4a63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_258_lessee_manager_cannot_put_custom_traits [0.217180s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9bb9e0a-e0ef-4aef-8df4-45e1e8b54608 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.300649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_259_lessee_member_cannot_put_custom_traits [0.113447s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e68b166b-6257-4139-bd4c-8a80fece3601 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_205_nodes_volume_targets_get_admin [0.279671s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1da6bce1-6b27-4562-a651-40954c6eb99e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_206_nodes_volume_targets_get_member [0.070051s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06bbab47-0d73-496d-9c2c-af6b2b154943 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_207_nodes_volume_targets_get_observer [0.073819s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb490406-ab3f-4c6e-bf42-89f9127b1c1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_260_third_party_admin_cannot_put_custom_traits [0.211413s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83a3b0a6-7847-4d15-adec-a1edc5bafb69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_208_drivers_get_admin [0.075919s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1759935-b526-4673-93f0-2ee6809fc347 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.323261s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_209_drivers_get_member [0.069507s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa3d2dec-25fd-4b19-9def-b7979173b47d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_166_volume_get_admin [0.450035s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99b02b6a-56f4-4ed7-b2dc-a79981f29453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_210_drivers_get_observer [0.079159s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-107827ea-7462-48b7-a8d7-c34e2659597d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_261_owner_reader_get_vifs [0.185713s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bf86f28-d097-41e8-b68b-9fea0d8c8084 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.142317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_211_drivers_driver_name_get_admin [0.070916s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e52c3d47-0578-4667-9e22-e2de1713c259 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_212_drivers_driver_name_get_member [0.063346s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a5c9aaa-cb0e-4780-990c-44b4eea52b10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_213_drivers_driver_name_get_observer [0.074061s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-220d892d-5bd5-4a6a-8aae-f89d4639cae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_262_lessee_reader_get_vifs [0.222273s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ffef6f5-ed5e-438d-99c0-1bebf0bf0be9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_214_drivers_properties_get_admin [0.060129s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b889f215-bc0e-4713-9d0e-9362e79fc0be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.266655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_167_volume_get_member [0.380696s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e68aeb65-5c12-4ef8-ba21-a16c381f8f72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_215_drivers_properties_get_member [0.062332s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7448d92-bd64-4818-aa63-ce299d1da790 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_216_drivers_properties_get_observer [0.063178s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-077d2d8a-a118-4a0d-a2b3-b03312bd5dce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_263_third_party_admin_cannot_get_vifs [0.193418s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc5db7e6-b027-49a3-ac1f-1fa7237b4c0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_217_drivers_raid_logical_disk_properties_get_admin [0.061159s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7659ec57-d4c3-4c95-bd34-83a3ba7db612 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_168_volume_get_observer [0.209804s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1060a171-caf4-4f63-9b16-aa93fa517e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_member [0.070885s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c41b1e0d-5f26-4efc-bc0d-f845f59db2fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.317701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_observer [0.072431s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6fd628d4-6ae8-49cc-85bd-3ac3a67ad8f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_264_owner_admin_can_post_vifs [0.230871s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d74d1ec2-9d54-4dad-8c3a-346bdeaf2f12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_220_drivers_vendor_passthru_methods_get_admin [0.067763s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c20e3f7-560c-4465-ac76-007eb8cb3a45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_member [0.103207s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-492ac8bf-0fdc-4574-9dc3-8647b8245ec3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_observer [0.084731s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f06216ef-e2ee-4eef-95d4-31c039d41b98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.277749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_223_drivers_vendor_passthru_get_admin [0.109816s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c219a81-89c4-428f-9980-ad0030c55c50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_169_volume_connectors_get_admin [0.463329s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f595483-9f3d-426f-a252-e9225337b458 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.143445s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_224_drivers_vendor_passthru_get_member [0.094673s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c51df903-9821-4d83-b195-59ef54e57807 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.095040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_265_service_can_post_vifs_for_own_project [0.533013s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc062fb7-efb5-4275-a639-c5ab99518ec9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.081203s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_225_drivers_vendor_passthru_get_observer [0.160596s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e0012f1-1a26-493e-8ffc-7499df09b969 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.162053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_226_drivers_vendor_passthru_post_admin [0.151887s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9f81aaf-2f0f-4fd2-ac39-69c22ef7c400 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_170_volume_connectors_get_member [0.426085s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c90eae4-b7b4-4706-821f-a86b77e26d01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.186651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_227_drivers_vendor_passthru_post_member [0.213822s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7195aa3f-22d8-42cc-9c8b-096b4a937cfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_266_service_cannot_post_vifs_for_other_project [0.417100s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5927198-a6cf-442f-a63f-3f50b9ab2992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_228_drivers_vendor_passthru_post_observer [0.083658s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6801a768-0a6d-46b1-aad8-fb4e26e80768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.137310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_229_drivers_vendor_passthru_put_admin [0.134192s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-778a1370-8ca1-4663-b9ed-cda4d35d071d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.251078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_171_volume_connectors_get_observer [0.572430s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78de874e-c003-4b7e-a3bf-074cb5596a33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_230_drivers_vendor_passthru_put_member [0.172178s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-187d0fc5-014a-4a46-881c-dc5b8d5a1c80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.141230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_231_drivers_vendor_passthru_put_observer [0.109685s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cfa649a2-edb4-43df-8d9a-660b791445e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_267_owner_manager_can_post_vifs [0.517487s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe05c9c9-0eec-411e-890d-3027b09960dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.287187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_268_lessee_admin_can_post_vifs [0.319507s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df568869-b935-4769-88f2-688f6efe51c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_234_nodes_bios_get_admin [0.260757s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ce34d96-c29f-4958-a09b-5b25aaed237f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.432046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_172_volume_connectors_post_admin [0.847050s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/073e6eb4-101e-4b9c-897e-70daef2dc1c7 DEBUG util.py:445: Openstack-Request-Id: req-46bd2ee8-02e1-4c15-8033-7b0dff07e00f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "073e6eb4-101e-4b9c-897e-70daef2dc1c7", "created_at": "2024-03-19T00:21:40.481199+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/073e6eb4-101e-4b9c-897e-70daef2dc1c7", "rel": "self"}, {"href": "http://localhost/volume/connectors/073e6eb4-101e-4b9c-897e-70daef2dc1c7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_269_lessee_manager_can_post_vifs [0.454442s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ee24786-cfad-4559-9cb4-8d1507fc62b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_235_nodes_bios_get_member [0.284221s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8bed935b-1130-4b75-97bb-3af316ee7b8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_236_nodes_bios_get_observer [0.144482s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f74a30f-c26b-4d3b-8a5d-b4863aaea311 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_173_volume_connectors_post_member [0.253480s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9fbf1894-e809-4af0-bc30-a09604e8b385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.345344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_237_nodes_bios_bios_setting_get_admin [0.097986s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-585779fd-1a00-4fc0-9b85-eaeeb24ad761 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_238_nodes_bios_bios_setting_get_member [0.124838s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d82c4adb-1926-4124-85d8-ed8cc2544b61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_174_volume_connectors_post_observer [0.222127s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a146710-1ec7-455c-a094-5b0385399aac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_270_owner_member_can_post_vifs [0.420262s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5438473d-8fe2-45e5-a8c9-ced79cd81344 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_239_nodes_bios_bios_setting_get_observer [0.083211s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f10ca0d3-07f8-45cc-9af9-ad4fda292748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.224349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_240_conductors_get_admin [0.119844s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3d3d460-99bf-4f04-94d1-f46763bcf01b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_241_conductors_get_member [0.107796s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0565ec1f-6ee8-4556-b874-832eb3b4c917 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_175_volume_volume_connector_id_get_admin [0.308111s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff58f6c6-1f25-48af-abdf-d0b86addfb18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:41.118564+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.TestRBACScoped.test_rbac_legacy_242_conductors_get_observer [0.082393s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e02d5c5-3ca2-46c5-9b4c-c799f787a03a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_271_lessee_member_cannot_post_vifs [0.420671s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2eb8b143-4fe2-4cd9-9c1a-e0f7afdf3569 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_243_conductors_hostname_get_admin [0.079462s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-509e0381-6270-43fd-aa07-6e1e6f6784f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.401530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_272_owner_reader_cannot_post_vifs [0.156400s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89d4b778-48b1-4ce4-a07a-6317e5b6a5d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_176_volume_volume_connector_id_get_member [0.293510s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67142b6a-bf07-4575-9bf2-f752faae9a24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_244_conductors_hostname_get_member [0.216811s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e26dce3-1d4f-4171-bb03-05afc8e64d21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_273_lessee_reader_cannot_post_vifs [0.121468s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66baa609-2e5f-4bd1-8f0f-a1402c5b9460 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.244524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_177_volume_volume_connector_id_get_observer [0.224649s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b217766a-d24b-4197-b0d5-c6db606f37da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:41.710573+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.TestRBACProjectScoped.test_project_scoped_274_third_party_admin_cannot_post_vifs [0.138452s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a04c1ee5-8e4f-492e-91c3-5198df1b4e7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_245_conductors_hostname_get_observer [0.245497s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4dedaee0-36b3-45a5-a530-c9cb3d05e117 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_275_owner_admin_delete_vifs [0.135480s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a406bf6-413d-457e-9734-5f86ff19f9a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_276_owner_manager_delete_vifs [0.084525s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5d0465b-00b6-4a58-ad4d-47eaabd17797 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_178_volume_volume_connector_id_patch_admin [0.255636s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1154b76f-2dd6-45a9-9481-44a47bf195b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_246_allocations_post_admin [0.218266s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3963c882-2115-47cb-8f91-7e7cc39d38ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_277_lessee_admin_can_delete_vifs [0.089897s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4944aaf4-db00-4d3f-9793-b9bf0e4fbf10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.441614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_278_lessee_manager_can_delete_vifs [0.166692s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-840e05a2-199f-40b0-badf-13efee9f205c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_179_volume_volume_connector_id_patch_member [0.376850s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65acbf3f-9a3e-4be2-a1f8-ad7e8922f06a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.302675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_248_allocations_post_observer [0.201503s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c614534-bad0-48f2-a3c4-498e0d88a92a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_279_owner_member_can_delete_vifs [0.333038s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-313f7195-62ed-4647-a750-a7fd7ddfcdb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.210782s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_180_volume_volume_connector_id_patch_observer [0.259789s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fc9dc3f-7a3f-4648-afcf-23280d3e87ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_249_allocations_get_admin [0.233296s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c459e1cd-b111-4fb6-9098-4f8ac613bd71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_280_lessee_member_cannot_delete_vifs [0.256622s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a7f7da2-7e78-4f70-a7ed-d015af2d84fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.239114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_181_volume_volume_connector_id_delete_admin [0.235576s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b36f105-8e84-4057-a661-72431942dc15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_250_allocations_get_member [0.291492s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-318ba791-55c2-40b5-9d63-448ec2d8ac1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_182_volume_volume_connector_id_delete_member [0.231651s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32f15b8a-02df-44eb-ab8d-a36d2342612a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_251_allocations_get_observer [0.197335s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55875679-dede-4ae6-b7da-ea5895e777ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.345511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_281_third_party_admin_cannot_delete_vifs [0.434566s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23325232-922a-464a-b941-852fa983850e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_183_volume_volume_connector_id_delete_observer [0.219824s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d524193-2171-475d-8a6e-7046cd77d59b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_184_volume_targets_get_admin [0.108852s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a65e76c-3d3a-46e1-877a-5f2ca0776456 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_185_volume_targets_get_member [0.107989s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a29ea76-0d87-45b8-bd42-1541243245d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.361282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_186_volume_targets_get_observer [0.105984s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e226710-496c-4d76-b30d-eec7a4223bac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_187_volume_targets_post_admin [0.094903s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/fc2566c4-c3d7-41f9-bb9a-b353a0fa6112 DEBUG util.py:445: Openstack-Request-Id: req-552fe779-f7ef-4b36-b7de-b131e9a29c1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fc2566c4-c3d7-41f9-bb9a-b353a0fa6112", "created_at": "2024-03-19T00:21:43.798214+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/fc2566c4-c3d7-41f9-bb9a-b353a0fa6112", "rel": "self"}, {"href": "http://localhost/volume/targets/fc2566c4-c3d7-41f9-bb9a-b353a0fa6112", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_282_service_can_delete_vifs [0.474339s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d445c203-9c95-45a7-b84b-587532eeeb4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_188_volume_targets_post_member [0.115242s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6948c17-2178-408d-b384-4aecd662f41e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_252_allocations_allocation_id_get_admin [0.733044s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/aed2e8df-8560-4d67-82ec-326f2053031d WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4ff8b55-e88b-45c1-8573-9e202310dc45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation aed2e8df-8560-4d67-82ec-326f2053031d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_189_volume_targets_post_observer [0.115160s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20c2ddc3-0ef1-4969-8364-00f8e99de2ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_253_allocations_allocation_id_get_member [0.142365s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/af4e06ef-b556-4e41-9572-dea617fc8b33 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d4f1977-693c-40be-ac72-37586d6a06e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation af4e06ef-b556-4e41-9572-dea617fc8b33 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_190_volume_volume_target_id_get_admin [0.113237s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7156819f-3c52-4f69-89a3-15d06daa2888 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:44.107367+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_191_volume_volume_target_id_get_member [0.104761s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d670847-396e-4f03-9857-9770d67abf8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_254_allocations_allocation_id_get_observer [0.218738s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/be63c975-3239-445c-a8b1-0e3859b2c71f WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7196e65e-0093-49d9-bb23-285560c42408 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation be63c975-3239-445c-a8b1-0e3859b2c71f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.728477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_192_volume_volume_target_id_get_observer [0.141370s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd1f9458-20bc-4460-87d6-369501c99662 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:21:44.330369+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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_255_allocations_allocation_id_patch_admin [0.203103s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/47a4c32c-a85a-45f7-a248-b60a079e794b WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-837548cd-435f-454d-b3f6-342313864749 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 47a4c32c-a85a-45f7-a248-b60a079e794b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_193_volume_volume_target_id_patch_admin [0.147531s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad616a50-bd7b-45fb-bd3a-dbe9c435df67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_256_allocations_allocation_id_patch_member [0.141087s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/0ffd7992-27e6-484a-adb6-99e330553826 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce56d911-b5d9-43b7-ac32-5e0ff9f453c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 0ffd7992-27e6-484a-adb6-99e330553826 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_194_volume_volume_target_id_patch_member [0.123714s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a2dfb5c-d538-4603-9c98-89ea78109148 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_network_error_fail [0.360415s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_257_allocations_allocation_id_patch_observer [0.079091s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/9e9a5594-d1cb-41c8-856b-705565ada462 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-265f71c4-f708-46d4-a502-05136a2a121f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9e9a5594-d1cb-41c8-856b-705565ada462 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_195_volume_volume_target_id_patch_observer [0.113349s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47f90283-b363-4519-8152-f68fda2555c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_196_volume_volume_target_id_delete_admin [0.115639s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcfe3e0c-fe6a-4acf-ace2-6f07c7a582c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_258_allocations_allocation_id_delete_admin [0.144293s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/9183c0b3-afba-4e63-96f7-d43db61e7773 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b4ad9a4-ee35-4fef-ac2f-d0c7bcd5b95c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9183c0b3-afba-4e63-96f7-d43db61e7773 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_197_volume_volume_target_id_delete_member [0.086905s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74cb8016-ce58-49d3-af6e-a899baeda015 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.326094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_283_service_cannot_delete_other_nodes_vifs [1.315604s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a89c7f2-ec3b-4879-83fa-59fcc1edc2f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_259_allocations_allocation_id_delete_member [0.257075s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/daac4266-b6db-4a9e-9b7e-0fa53728a57e GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-527f5258-ca3b-403e-b2e2-77f8da81cde3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation daac4266-b6db-4a9e-9b7e-0fa53728a57e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_284_owner_readers_can_get_indicators [0.091994s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85ad6791-edcc-4d46-a181-0dd05907d0f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.148741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_198_volume_volume_target_id_delete_observer [0.296729s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94eb8f3e-8527-4c3e-a6df-c100e60fae0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.063623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_260_allocations_allocation_id_delete_observer [0.199835s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/e7cf5237-7f9e-4fef-97ac-fb36934118d0 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc19d8e2-7ce8-4179-99fb-ea9bdde2ddd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e7cf5237-7f9e-4fef-97ac-fb36934118d0 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_261_nodes_allocation_get_admin [0.117858s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5d020b0-9e67-4f73-aed7-2131269cd696 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_262_nodes_allocation_get_member [0.158611s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7b68a15-6df8-46dd-b44e-74db8c569ad5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_263_nodes_allocation_get_observer [0.133365s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1d9e3a7-3f58-4d3d-a661-930653a3e468 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_199_nodes_volume_get_admin [0.531606s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-065e204d-e3a2-4205-94ba-648f88241406 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_285_lesse_readers_can_get_indicators [0.605285s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-983cb288-5afe-4d3d-9a06-df60cf265394 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.529863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_264_nodes_allocation_delete_admin [0.088626s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-545a2b40-4433-4b01-bf28-30860727c9f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.063634s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_265_nodes_allocation_delete_member [0.141290s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfc14f22-709a-4805-93a3-8a5a48466f57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.116861s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.103779s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_266_nodes_allocation_delete_observer [0.176734s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cc41fc3-c983-47d7-a885-d488b9a376bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_handles_hold_from_active [0.118666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_200_nodes_volume_get_member [0.428497s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce93895c-df12-4070-8902-cb0820e55f0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_267_deploy_templates_post_admin [0.107055s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dc3c969-05ba-4dbb-97c1-85292051ec0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_286_third_party_admin_cannot_get_indicators [0.467835s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be0cedd6-355f-424e-b578-0408d7b56a40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_268_deploy_templates_post_member [0.101033s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab273c69-2a57-4f11-bee4-10aa122f9c98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_handles_hold_from_wait [0.152582s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.156471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_287_owner_reader_can_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_269_deploy_templates_post_observer [0.212770s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b006aaf-90d8-4691-9c3c-89d0b2798fb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_201_nodes_volume_get_observer [0.524923s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5849c000-ba42-4110-9c58-0305e782b414 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_288_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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.412618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_289_owner_member_can_set_indicator [0.203002s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators/component/magic_light WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9456ad0c-0e90-47ba-a08f-a59d956992be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_270_deploy_templates_get_admin [0.418426s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb717892-fd72-4e34-8bca-bb7e645ff2fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.131005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_290_lessee_member_cannot_set_indicator [0.180581s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b30a6aa-269f-4feb-89b7-25b6d0711c7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_202_nodes_volume_connectors_get_admin [0.492660s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e2e64ee-4a31-4a39-aaa2-ec803800b558 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.225332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_291_third_party_admin_cannot_set_indicator [0.112110s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/component/magic_light WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-457a6388-47fe-4d66-8279-bab12c49ec18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_271_deploy_templates_get_member [0.337055s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06a83e45-3072-4454-84c0-d4f6196f5997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.149960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_203_nodes_volume_connectors_get_member [0.270940s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a5d6edf-c24d-492f-b943-4f91c55e47b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_292_owner_reader_can_list_portgroups [0.273488s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7b044b2-71c5-4a1e-8d13-3dffe9187614 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.167570s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.068937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_272_deploy_templates_get_observer [0.361918s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59bf153e-a778-4872-af3a-23fc55b6e748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_204_nodes_volume_connectors_get_observer [0.292929s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3751272b-7afc-494f-ad6f-889a0d7802dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_293_owner_service_can_list_portgroups [0.256212s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae3cf298-855c-4418-b75e-690fd00b5a7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_273_deploy_templates_deploy_template_id_get_admin [0.119758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/c3dacf9c-6608-4174-add0-fe0ce879072a WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53177150-e8e0-49d0-a4f5-e3c7910b5528 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_node_clean_steps_fail_poweroff [0.307380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_member [0.197374s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/54eb03b0-43ae-45c2-a5c4-4c14e3f5d291 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7135d02-b809-43d7-8497-5ed9ad80a053 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_205_nodes_volume_targets_get_admin [0.253833s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c40c2eb-ac44-446c-8cac-2756b2046d87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_observer [0.077638s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/4cfca13e-fe1e-4801-a426-12f65fff04aa WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ce1641a-f809-4fc2-b22d-c72827205fd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.201820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_276_deploy_templates_deploy_template_id_patch_admin [0.081710s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/36a0e1e8-e578-4012-9a66-20a674552301 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3edea79-a6b7-444d-b18b-973b0040b450 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_294_lessee_reader_can_list_portgroups [0.399826s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff830115-9fd5-4dee-8499-76b9a3806af9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.145755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_member [0.175427s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/1d10171d-77e9-4bd6-83d9-d841cb7b7914 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a143fddb-f308-444f-a994-423ae286f7ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_206_nodes_volume_targets_get_member [0.420189s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b2f1da8-1bd7-4a38-b2fd-d158bc55431a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_observer [0.167270s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/9b1a8ebe-9089-4f6d-96f8-5606f3bf6081 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b1bbf07-e956-4ec0-b2c9-451186779a8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_295_third_party_admin_cannot_list_portgroups [0.336940s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9de1a957-e848-479c-b706-a57b8cc9904a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": []} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.268756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_207_nodes_volume_targets_get_observer [0.129620s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-245516ce-ab58-4ce5-a244-f4218e94a0cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_279_deploy_templates_deploy_template_id_delete_admin [0.093560s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/6480e5b9-854b-48b3-a4f0-49d45c290fa6 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30d7a192-0a8c-4484-ad6e-e5d3645f80b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_208_drivers_get_admin [0.079078s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8891bbf3-56ff-41e4-b8bb-a87fc5d725ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.174086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_member [0.122894s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/4e108141-47d8-4aaa-ad5d-a05147b69b14 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a24c1b7f-287d-42ab-a942-a7a311951926 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_observer [0.100229s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/7b1f1147-b0c0-4c6a-b13f-61b6a853036c GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7e8d68e-420a-4a5b-8e9f-a7254cc86daf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_209_drivers_get_member [0.172920s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc052c30-116a-4d18-88cb-cb3287e00205 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.159612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_296_owner_reader_can_read_portgroup [0.343606s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b005073c-2d09-4434-8919-7b736629ec90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-03-19T00:21:48.792883+00:00", "updated_at": null, "address": "01:03:09:ff:01:01", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "magicfoo", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_282_chassis_post_admin [0.071370s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53ed2340-1a77-4a2f-b186-cb8198d8cd5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_210_drivers_get_observer [0.124470s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bfd3055-aaa8-4688-9a78-90891fb96b0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_283_chassis_post_member [0.079430s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ef7f7ee-33a6-486b-bd3c-b4478ac897ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_284_chassis_post_observer [0.083546s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f00baf13-9515-45a6-aeec-d09058907623 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_211_drivers_driver_name_get_admin [0.173467s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bf82525-5659-480f-bc40-dbdc70445e55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_285_chassis_get_admin [0.084695s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3964d07-5f04-4415-93d8-4682659e98b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_212_drivers_driver_name_get_member [0.097340s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82706b36-f270-4041-ad18-7788b25e4664 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_286_chassis_get_member [0.090310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f068307-5fd4-4b6e-9f36-8da40e42629e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_287_chassis_get_observer [0.079802s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b20d63bf-169a-4b94-8607-cb472c475e95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_288_chassis_detail_get_admin [0.077024s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0b556db-cb85-48a9-b111-a63f7f708bee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_297_lessee_reader_can_read_portgroup [0.577694s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2530c6d-e43a-4e9c-a3f0-36bd0dc596ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:21:49.386128+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.611094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_289_chassis_detail_get_member [0.096599s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48c1ecb6-aa67-4367-bc5f-a023b6ecfa3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_213_drivers_driver_name_get_observer [0.274796s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b0905e4-4244-4eea-8eae-05e12b46ab64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_214_drivers_properties_get_admin [0.119456s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5f6030a-b077-45a5-9a9c-cbaa62e078a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_290_chassis_detail_get_observer [0.172644s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6ee4db3-dd23-44a8-9a70-73810c9ddecc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_215_drivers_properties_get_member [0.086400s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08c9e485-11b1-488e-bf1f-2ca21f0643a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_291_chassis_chassis_id_get_admin [0.130182s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b33576d6-b6c7-4b02-a089-b355aad470b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_216_drivers_properties_get_observer [0.228178s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d466a9de-fe93-44a4-89ad-f0804618739a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_292_chassis_chassis_id_get_member [0.221569s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d84f2b38-80ba-48cb-b287-52348b25d6f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_298_third_party_admin_cannot_read_portgroup [0.610905s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b20d8b53-1a06-470e-8faa-03addd9630ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.622786s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_293_chassis_chassis_id_get_observer [0.105574s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-078c28b2-ef02-4d7e-975d-8d7c02cda483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_217_drivers_raid_logical_disk_properties_get_admin [0.247778s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d89ba4bc-2d53-4d61-a5bb-172e0c708f8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_member [0.204500s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f21f3780-b55a-4325-9e76-2b1d801fdc86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_299_owner_admin_can_add_portgroup [0.516465s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/eb4f2ce6-9ac2-4d03-8210-b5fa7b8faef9 DEBUG util.py:445: Openstack-Request-Id: req-48ef73a4-1bac-488c-ad82-bc86f79f5dbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "eb4f2ce6-9ac2-4d03-8210-b5fa7b8faef9", "created_at": "2024-03-19T00:21:50.593385+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "links": [{"href": "http://localhost/v1/portgroups/eb4f2ce6-9ac2-4d03-8210-b5fa7b8faef9", "rel": "self"}, {"href": "http://localhost/portgroups/eb4f2ce6-9ac2-4d03-8210-b5fa7b8faef9", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/eb4f2ce6-9ac2-4d03-8210-b5fa7b8faef9/ports", "rel": "self"}, {"href": "http://localhost/portgroups/eb4f2ce6-9ac2-4d03-8210-b5fa7b8faef9/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_observer [0.327849s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8a6888b-227f-4d73-9eb9-1d49ebe2e7fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.750649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_294_chassis_chassis_id_patch_admin [0.899577s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc1c07fc-96dc-4b4a-9355-8603068ccfde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.309275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_300_owner_service_can_add_portgroup [0.624627s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/ded692ca-7437-4141-af39-a09f7467a569 DEBUG util.py:445: Openstack-Request-Id: req-987d82e2-d4b7-4a40-bc5d-b4dfcb3de583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ded692ca-7437-4141-af39-a09f7467a569", "created_at": "2024-03-19T00:21:51.210020+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "links": [{"href": "http://localhost/v1/portgroups/ded692ca-7437-4141-af39-a09f7467a569", "rel": "self"}, {"href": "http://localhost/portgroups/ded692ca-7437-4141-af39-a09f7467a569", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/ded692ca-7437-4141-af39-a09f7467a569/ports", "rel": "self"}, {"href": "http://localhost/portgroups/ded692ca-7437-4141-af39-a09f7467a569/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_220_drivers_vendor_passthru_methods_get_admin [0.504004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc887d08-28f4-4376-bc16-b43efd387a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.340416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_295_chassis_chassis_id_patch_member [0.516361s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02ad1167-0d45-4479-a723-0621673c27f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_301_owner_manager_can_add_portgroup [0.518631s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/9552d57f-aa33-4835-9a60-91a19fb57099 DEBUG util.py:445: Openstack-Request-Id: req-9d5c3485-5ff0-4f5e-9697-2e29520b7b31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9552d57f-aa33-4835-9a60-91a19fb57099", "created_at": "2024-03-19T00:21:51.823295+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "links": [{"href": "http://localhost/v1/portgroups/9552d57f-aa33-4835-9a60-91a19fb57099", "rel": "self"}, {"href": "http://localhost/portgroups/9552d57f-aa33-4835-9a60-91a19fb57099", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/9552d57f-aa33-4835-9a60-91a19fb57099/ports", "rel": "self"}, {"href": "http://localhost/portgroups/9552d57f-aa33-4835-9a60-91a19fb57099/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.248821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_member [0.562119s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-962d3ad0-eb38-480b-bd3c-046ee22476a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.209548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_296_chassis_chassis_id_patch_observer [0.443403s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47736b55-c2a8-434a-b479-1fc045af08ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.239545s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_observer [0.530193s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d19727fa-daaf-4186-9b65-2a8659d8ef46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_302_owner_member_cannot_add_portgroup [0.615250s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc9019e2-7598-4757-a3da-73645cc6002f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.169333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_297_chassis_chassis_id_delete_admin [0.504318s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-339a9efe-cc68-4843-88e0-a20cff62b11e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_223_drivers_vendor_passthru_get_admin [0.308629s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bcf4322-e32a-41b3-83f7-35532b4eef31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_298_chassis_chassis_id_delete_member [0.127502s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4bf66459-efa1-40dc-b7fb-1faa42c192fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_303_lessee_admin_cannot_add_portgroup [0.305665s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f388724-d820-4e87-ae45-445f52fed622 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_304_lessee_manager_cannot_add_portgroup [0.087520s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b9e7aaa-d88b-46a5-b48a-e6fb4ed171fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_224_drivers_vendor_passthru_get_member [0.111998s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-631db96b-df81-4bf9-a5de-b754a3288498 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_299_chassis_chassis_id_delete_observer [0.144889s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8124f35-dddc-4111-b4a9-782a2c41276e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_305_lessee_member_cannot_add_portgroup [0.132936s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-546e3669-4d68-4f68-8029-d676037ed14c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_225_drivers_vendor_passthru_get_observer [0.132535s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38d226d2-06c2-47d2-ac26-91a8852caa58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_226_drivers_vendor_passthru_post_admin [0.076667s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de6acb00-3adc-4666-960b-3b863e6db02b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_300_node_history_get_admin [0.195717s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea011e44-b0c0-4f28-9dbb-f3c0e41b16d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_306_third_party_admin_cannot_add_portgroup [0.221480s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe0439ee-4d13-4b12-b6b0-9f3c3e895f5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_227_drivers_vendor_passthru_post_member [0.200343s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08123175-66fd-435b-b807-1d4dbb446878 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_301_node_history_get_member [0.186462s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-561a7f19-aa73-4f0c-a2e3-c49cb2576969 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_228_drivers_vendor_passthru_post_observer [0.094740s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6e606e7-8ed5-42c3-9b1e-373a2e6abd1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_302_node_history_get_observer [0.129001s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a277dc34-238a-4620-ada8-b807ebf9d354 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_229_drivers_vendor_passthru_put_admin [0.122366s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aaec9321-0298-4ff8-9cd6-72a1aeb69436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_rbac_legacy_303_node_history_get_entry_admin [0.114086s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/aa747c36-15df-44c2-83df-46c40f1f99e1 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5974d2ed-a137-424b-8891-8b109cbe4d4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_230_drivers_vendor_passthru_put_member [0.192625s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89541788-62a0-4b20-87fa-8d2060cd765a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_304_node_history_get_entry_member [0.191445s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8afb3e9b-078d-4a4f-a6bb-3a3ff9fb9385 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fb5a767-1e0a-4c2c-8b07-3b3beabfca3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_307_owner_admin_can_modify_portgroup [0.530626s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc63da02-0f50-4013-937d-3380544c6a40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_231_drivers_vendor_passthru_put_observer [0.126646s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77c7dea2-2261-414c-94c0-1da2ba2944bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_305_node_history_get_entry_observer [0.160368s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a55477ab-e3dc-49df-b0d6-856565039fbe WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81066d55-722e-4347-bb98-9bd5539b8132 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_234_nodes_bios_get_admin [0.119127s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f25deb8-d613-47a6-a0ba-e9038163593e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-19T00:21:54.067697+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: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [1.664727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_235_nodes_bios_get_member [0.116393s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24a3cb75-64ef-4631-8e91-97d44ffc255d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_236_nodes_bios_get_observer [0.093013s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c44cf418-4b95-48db-a790-6c8eb36d1fb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-19T00:21:54.287530+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_002_nodes_post_admin [0.401187s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d99ea18-a852-4851-a045-03c4a14e7d57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_237_nodes_bios_bios_setting_get_admin [0.111146s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7472ca31-607e-4eaf-9e73-71c55ef41d67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-19T00:21:54.398187+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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_238_nodes_bios_bios_setting_get_member [0.084956s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e8abd76-4758-4481-bae5-b4c139f4f0f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_308_owner_manager_can_modify_portgroup [0.858476s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eba6eacc-90b2-4a61-bd45-438cfba6d659 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_239_nodes_bios_bios_setting_get_observer [0.084737s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1233c1d-840e-416a-8c9e-3c9264163a3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-19T00:21:54.581463+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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_240_conductors_get_admin [0.111205s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-057a4350-a59d-4fb7-aa44-275524d56545 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_003_nodes_post_member [0.302480s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1deb288-b8ab-4440-9ef1-2db825a90cfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_241_conductors_get_member [0.163822s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd1b92da-692f-4e8d-946b-6d4c423bc8e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_242_conductors_get_observer [0.126501s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf27a0af-e100-4b02-914e-274d0b611ebc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.924733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_309_owner_member_cannot_modify_portgroup [0.502324s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-410a7b62-9760-421f-af29-686065e1a9f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_243_conductors_hostname_get_admin [0.110693s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-684ab9b3-4f93-4369-bc17-6f7606d41ba6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:21:55.078326+00:00", "updated_at": "2024-03-19T00:21:55.079163+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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_004_nodes_post_observer [0.456138s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da826a48-76bc-4520-96fc-3bc229563c1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_244_conductors_hostname_get_member [0.378827s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b20e754-a343-4ee7-a86a-091fff5137fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_310_lessee_admin_cannot_modify_portgroup [0.456884s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-212d3ab6-e579-4c67-a8f3-c4873d72fdab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_245_conductors_hostname_get_observer [0.076666s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13f35b32-8735-4a51-838e-a22119bdcf3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:21:55.557829+00:00", "updated_at": "2024-03-19T00:21:55.558765+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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_246_allocations_post_admin [0.083884s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0723f774-f3f2-4191-a495-4c4f47136935 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_005_nodes_get_node_admin [0.502423s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-921a9c7a-291d-4093-bf8c-e31804303c15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_006_nodes_get_node_member [0.140348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e06fa0c9-91b1-4bce-9f5f-52d8ab5b0f73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_007_nodes_get_node_observer [0.087332s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ccacef5-3807-4170-bae6-11cf1d17a8d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_311_lessee_manager_cannot_modify_portgroup [0.445742s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d02971a9-bd8e-46f0-b4e4-cb55713dce14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.912042s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_248_allocations_post_observer [0.244446s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d39f4921-393d-4e3a-a9f6-c8615e561146 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_continue_ok [0.155755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_008_nodes_get_node_other_admin [0.270204s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4f59238-0781-4454-a698-ca1d22074314 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_249_allocations_get_admin [0.234667s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce2e15de-5cf9-442e-baf1-ecf73fba68ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "82dc68a1-1447-4bff-9efe-6557abbab245", "created_at": "2024-03-19T00:21:56.123083+00:00", "updated_at": "2024-03-19T00:21:56.131098+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/82dc68a1-1447-4bff-9efe-6557abbab245", "rel": "self"}, {"href": "http://localhost/allocations/82dc68a1-1447-4bff-9efe-6557abbab245", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_continue_with_discovery [0.163966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_312_lessee_member_cannot_modify_portgroup [0.402360s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ece8d161-fbfa-48b4-9727-2e23478c958d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_009_nodes_get_admin [0.202036s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1be3193c-e165-4ebf-9cef-62678d86c6c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_010_nodes_get_other_admin [0.113880s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e0c31c1-10c6-40d4-a3f2-3b23d2047c19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_250_allocations_get_member [0.298269s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e6d3e30-28a9-4884-9877-cb29db405a95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_011_nodes_detail_get_admin [0.125648s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd508548-cacb-46b2-a7a2-3ae6e7342efb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_wrong_state [0.365957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_313_third_party_admin_cannot_modify_portgroup [0.424284s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92c6f7c5-7252-486c-9f60-e751200ce172 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_012_nodes_detail_get_member [0.153438s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abfc7940-a88e-4e11-8f23-fe99b5d404ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_251_allocations_get_observer [0.361913s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4d734af-9ca5-4c95-b555-ba2dbc524c11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "1c072356-29a4-4975-a9ce-e571cabc8e97", "created_at": "2024-03-19T00:21:56.777140+00:00", "updated_at": "2024-03-19T00:21:56.782479+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1c072356-29a4-4975-a9ce-e571cabc8e97", "rel": "self"}, {"href": "http://localhost/allocations/1c072356-29a4-4975-a9ce-e571cabc8e97", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_013_nodes_detail_get_observer [0.248103s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c337cd7-4c8a-40ae-a3ab-5c73b26f122c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.469047s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_014_nodes_node_ident_get_admin [0.191130s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36bd54a3-7187-44ec-a2c1-b30d0b3a67d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_252_allocations_allocation_id_get_admin [0.384121s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/3097be38-d4f7-4ba6-93b2-fc1b6379974a WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a969d23-0a03-4876-9df7-f72885faccb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "3097be38-d4f7-4ba6-93b2-fc1b6379974a", "created_at": "2024-03-19T00:21:57.100185+00:00", "updated_at": "2024-03-19T00:21:57.112274+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3097be38-d4f7-4ba6-93b2-fc1b6379974a", "rel": "self"}, {"href": "http://localhost/allocations/3097be38-d4f7-4ba6-93b2-fc1b6379974a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.220034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_314_owner_admin_can_delete_portgroup [0.643199s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28ec700f-ebc3-4566-9b74-3aa54274d0da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_015_nodes_node_ident_get_member [0.235052s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b080d651-ce0e-4019-a67e-912a0671f182 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.314840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_016_nodes_node_ident_get_observer [0.145606s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d44b3131-06fe-4897-907e-b2225d607e37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_253_allocations_allocation_id_get_member [0.487342s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/7adad07b-e4af-4319-a929-9bb39590540c WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e86464ad-73ea-46d9-9ee9-44adce13dd16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 7adad07b-e4af-4319-a929-9bb39590540c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_017_nodes_node_ident_patch_admin [0.153386s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c7ba509-dea7-43d9-8dcd-ef3bb81446e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.286405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_315_owner_manager_can_delete_portgroup [0.578064s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a469e958-8592-4a7d-a98c-9a7752202947 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_018_nodes_node_ident_patch_member [0.223292s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aabf2905-7e19-41b3-b2c9-d253c4a86077 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.184086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_019_nodes_node_ident_patch_observer [0.195758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80468169-5858-4576-9ca1-978a2bcaa787 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.152657s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_ramdisk_deploy [0.108535s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_020_nodes_node_ident_delete_admin [0.205245s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39579d45-6224-4e40-9579-71e43401d8a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_254_allocations_allocation_id_get_observer [0.686521s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/8489e0af-0c20-4073-9dba-d061eb60c7e9 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56b3fe1e-597a-4ceb-a5a7-1d1915eb17fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "8489e0af-0c20-4073-9dba-d061eb60c7e9", "created_at": "2024-03-19T00:21:58.013325+00:00", "updated_at": "2024-03-19T00:21:58.050546+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8489e0af-0c20-4073-9dba-d061eb60c7e9", "rel": "self"}, {"href": "http://localhost/allocations/8489e0af-0c20-4073-9dba-d061eb60c7e9", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_316_owner_member_cannot_delete_portgroup [0.491550s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4fa7c2cd-022c-4943-9566-af9bbf5c1c41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.206667s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_021_nodes_node_ident_delete_member [0.189863s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e26d6ae6-fc8b-41f7-9807-978277a09e9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_317_owner_service_can_delete_portgroup [0.168366s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f202b87f-47a8-43a5-bab4-3b26cb7faf0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.114052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_255_allocations_allocation_id_patch_admin [0.364023s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/598c89df-9b7d-4ee0-94f0-5ed5b10285be WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-763eeda6-acbb-47ba-adcf-59cc275569f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "598c89df-9b7d-4ee0-94f0-5ed5b10285be", "created_at": "2024-03-19T00:21:58.626113+00:00", "updated_at": "2024-03-19T00:21:58.887478+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/598c89df-9b7d-4ee0-94f0-5ed5b10285be", "rel": "self"}, {"href": "http://localhost/allocations/598c89df-9b7d-4ee0-94f0-5ed5b10285be", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_022_nodes_node_ident_delete_observer [0.230169s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1127ffdc-7e59-4af4-bb98-fcd061625587 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.174406s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_256_allocations_allocation_id_patch_member [0.220496s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/c65c710e-970b-4bb4-a525-d6ea5427c853 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b45a9ad-4290-47e7-afe8-c80ff560ca2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c65c710e-970b-4bb4-a525-d6ea5427c853 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_023_nodes_validate_get_admin [0.284113s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c4fc99c-26e6-45e1-9734-daa2545b52e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.294328s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_257_allocations_allocation_id_patch_observer [0.264661s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/194f344a-a57d-41bc-9a37-f3fed09f337e WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75b2d51f-3a14-48b9-9a0b-876f9120ab85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_024_nodes_validate_get_member [0.400416s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-026d6574-45ad-4b90-a8eb-68c29f0efb35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.372299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_258_allocations_allocation_id_delete_admin [0.295981s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/93a7b527-145a-41c6-8a77-a20fe77d9064 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0f7b2c4-a2fb-4d5f-89a9-368ed01951c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_318_lessee_admin_cannot_delete_portgroup [0.989022s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0ec0c3b-e393-4bbd-809c-c6abf41fd6b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_025_nodes_validate_get_observer [0.239188s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-363d8f59-c11b-4b92-a4ef-d1dc660f3181 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.352407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_259_allocations_allocation_id_delete_member [0.329455s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/1779534f-4f8a-43c5-9096-03d35091f61e GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2481d3af-4065-4372-8d71-e15749cd1b43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 1779534f-4f8a-43c5-9096-03d35091f61e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_026_nodes_maintenance_put_admin [0.215811s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ca63f1d-7436-473d-8bad-8f5a02c357a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_319_lessee_manager_cannot_delete_portgroup [0.433076s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5dc9adf8-a95f-40a5-9776-eb6b27084697 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_027_nodes_maintenance_put_member [0.346733s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a118280-9059-4ae0-b4fa-28ed4899def6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.444296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_260_allocations_allocation_id_delete_observer [0.350162s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/5dd576d9-2932-439e-9080-a59261e812e6 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcc135f4-4fae-4863-83e6-6be46a508ffe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_320_lessee_member_cannot_delete_portgroup [0.307947s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da4d434e-19b6-431a-ad33-91397fd8a2c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_028_nodes_maintenance_put_observer [0.117686s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f750a41-b001-41c4-9300-b53e34aca998 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_261_nodes_allocation_get_admin [0.126872s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6fbac98-6fab-459f-b871-51eac3f25fad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b153fa7a-7eb3-4713-8d65-8d2e95b2e211", "created_at": "2024-03-19T00:22:00.464677+00:00", "updated_at": "2024-03-19T00:22:00.469214+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b153fa7a-7eb3-4713-8d65-8d2e95b2e211", "rel": "self"}, {"href": "http://localhost/allocations/b153fa7a-7eb3-4713-8d65-8d2e95b2e211", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_262_nodes_allocation_get_member [0.074310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38b6b18e-61af-4cf4-8391-13934d374faf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_263_nodes_allocation_get_observer [0.103620s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e1b9a1f-04d5-4a96-8723-0df5b04421fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ba45d3f6-5cc6-4c9f-9470-27e1129d5b7a", "created_at": "2024-03-19T00:22:00.652158+00:00", "updated_at": "2024-03-19T00:22:00.656592+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ba45d3f6-5cc6-4c9f-9470-27e1129d5b7a", "rel": "self"}, {"href": "http://localhost/allocations/ba45d3f6-5cc6-4c9f-9470-27e1129d5b7a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_264_nodes_allocation_delete_admin [0.091909s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45c392cb-96c3-44f0-84de-26cb580fd40d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_029_nodes_maintenance_delete_admin [0.312248s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6288fd93-eb0b-424c-bb79-cdbc935e2706 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_265_nodes_allocation_delete_member [0.095528s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-039d9b6b-bf30-4276-baa4-cc2a184d015e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_321_third_party_admin_cannot_delete_portgroup [0.461126s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74530bb1-b586-4569-965b-0c57346fa88b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_266_nodes_allocation_delete_observer [0.097388s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d6ad35e-4f81-4fc1-9a1a-5311294ab641 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.615618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_030_nodes_maintenance_delete_member [0.229910s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8bff8f9a-7a0f-4bcb-b1f8-cc661204fc8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_322_service_cannot_delete_portgroup [0.142486s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afcfe769-c279-484f-9663-179002ec4a15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_267_deploy_templates_post_admin [0.124903s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/d9f984f2-1012-49ec-9d23-926f4b376be0 DEBUG util.py:445: Openstack-Request-Id: req-3ca615d1-ace5-4db4-8580-d87a9e8f9c3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d9f984f2-1012-49ec-9d23-926f4b376be0", "created_at": "2024-03-19T00:22:01.124984+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d9f984f2-1012-49ec-9d23-926f4b376be0", "rel": "self"}, {"href": "http://localhost/deploy_templates/d9f984f2-1012-49ec-9d23-926f4b376be0", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_323_owner_reader_can_get_node_portgroups [0.081104s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e3612ff-c7b9-444c-95b5-b8900147ab1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_268_deploy_templates_post_member [0.082390s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cd57fce-a662-4038-90df-0ecd2df4c701 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_324_lessee_reader_can_get_node_porgtroups [0.078265s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5570788b-10c5-4492-9fd4-c13a19207fa6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_325_third_party_admin_cannot_get_portgroups [0.100314s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4453bd2-92ea-4e81-a261-0ebdd593f48c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_269_deploy_templates_post_observer [0.134094s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cc5f3b8-6210-44ab-b510-8e54535aef5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_326_service_cannot_get_portgroups [0.099650s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91e570b4-08bc-417c-adf4-4b220be77a1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_270_deploy_templates_get_admin [0.097006s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b966a9d-5aaa-4ccb-9246-e57b752d7aec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "b3929299-c0d4-4340-ac6d-03bcf9ad0176", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/b3929299-c0d4-4340-ac6d-03bcf9ad0176", "rel": "self"}, {"href": "http://localhost/deploy_templates/b3929299-c0d4-4340-ac6d-03bcf9ad0176", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_031_nodes_maintenance_delete_observer [0.464099s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d65e70b8-d9c7-4fef-a537-629e4fa6d8a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_271_deploy_templates_get_member [0.084348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82ec9261-2ebe-4386-ba96-58b3fdcb1357 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.519332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_327_owner_reader_can_list_ports [0.110717s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5718c628-9671-442c-ad97-00d6a3622e35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_272_deploy_templates_get_observer [0.080365s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58d4a0e1-f820-4cda-a18c-0b196c72cf8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "9e82fa3b-f9f8-4ec1-981a-c4a6b6f6087b", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/9e82fa3b-f9f8-4ec1-981a-c4a6b6f6087b", "rel": "self"}, {"href": "http://localhost/deploy_templates/9e82fa3b-f9f8-4ec1-981a-c4a6b6f6087b", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_328_owner_service_can_list_ports [0.096205s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c3fcad3-e57b-4cce-8b39-c524eb7a5afa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_273_deploy_templates_deploy_template_id_get_admin [0.138941s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/842853d9-8813-4378-b4c2-f90b90984e82 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c71271e1-3550-483a-a4e2-002f86871454 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "842853d9-8813-4378-b4c2-f90b90984e82", "created_at": "2024-03-19T00:22:01.658485+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/842853d9-8813-4378-b4c2-f90b90984e82", "rel": "self"}, {"href": "http://localhost/deploy_templates/842853d9-8813-4378-b4c2-f90b90984e82", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_329_lessee_reader_can_list_ports [0.115507s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96bcf87c-9a34-4369-87a9-5dafdc522992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.273609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_330_third_party_admin_cannot_list_ports [0.083097s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27aa4486-ce95-4d4c-b6b7-7ebd3b0a5fc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_member [0.101256s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/d873ccbb-8acc-4006-ba4a-8f4ea2d2b6a9 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46012427-4102-4209-9f8e-03a0766b686c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACProjectScoped.test_project_scoped_331_owner_reader_can_read_port [0.093737s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec7f84b1-5011-4cfa-9cad-52c2f6574f67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-03-19T00:22:01.881199+00:00", "updated_at": null, "address": "00:00:00:00:00:01", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "name": null, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_observer [0.126496s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/0a4d1e2c-155a-4788-a563-6d548f68e3a1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3adfefe-c0b9-4bcd-8080-1b4fee5b1071 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "0a4d1e2c-155a-4788-a563-6d548f68e3a1", "created_at": "2024-03-19T00:22:01.945578+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/0a4d1e2c-155a-4788-a563-6d548f68e3a1", "rel": "self"}, {"href": "http://localhost/deploy_templates/0a4d1e2c-155a-4788-a563-6d548f68e3a1", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_032_nodes_management_boot_device_put_admin [0.469680s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ad66415-1fca-40d1-9e2e-50e5b666cd0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_332_owner_service_can_read_port [0.078967s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14c8f25d-d509-4841-aa51-84b441e4bc3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-03-19T00:22:01.976410+00:00", "updated_at": null, "address": "00:00:00:00:00:01", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "name": null, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_276_deploy_templates_deploy_template_id_patch_admin [0.124279s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/d9c44e04-4617-4609-a1af-df233f20bfbf WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b0244ed-a75e-40f1-9b17-0bbe10a6c277 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d9c44e04-4617-4609-a1af-df233f20bfbf", "created_at": "2024-03-19T00:22:02.032666+00:00", "updated_at": "2024-03-19T00:22:02.099898+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d9c44e04-4617-4609-a1af-df233f20bfbf", "rel": "self"}, {"href": "http://localhost/deploy_templates/d9c44e04-4617-4609-a1af-df233f20bfbf", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_333_lessee_reader_can_read_port [0.107870s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4bf3c9e-6fb5-4179-8435-5457f95efa87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:22:02.094804+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_334_third_party_admin_cannot_read_port [0.081148s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/abfd8dbb-1732-449a-b760-2224035c6b99 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9920ea5d-eea3-4888-b952-2581c76cdda7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.407264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_member [0.139529s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/17ea6c41-182a-47f0-ad8e-2295cb8bc77b WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fac3c50b-d9ca-40d0-b989-1af41e06ded0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_335_owner_admin_can_add_ports [0.109766s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-199a4dc3-7f2e-403b-bca3-30b28066cd5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_observer [0.098818s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/43ab9aa0-3da2-4b67-a281-28944a1b8656 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d381370-9c2d-433c-b5e6-df1368e8d563 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_336_owner_manager_can_add_ports [0.106896s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04d2053b-8e92-4cdc-bb47-1121bfd55042 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_279_deploy_templates_deploy_template_id_delete_admin [0.079937s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/e3493cd7-847d-4b23-933e-cc1cb5473d8e GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-494c2437-97a3-4115-b8b1-3b39043d142d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_033_nodes_management_boot_device_put_member [0.479128s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a97f6645-e4e0-4599-860d-192a52aadc9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_member [0.094502s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/7ff772c4-2edc-4699-b078-88e42dcf9306 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13dadb53-c234-475a-a1ed-4f8bb8477ecc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_337_owner_admin_cannot_add_ports_to_other_nodes [0.147652s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '573208e5-cd41-4e26-8f06-ef44022b3793', 'address': '09:01:02:03:04:09'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d226a8fd-5d9d-41cb-b8d9-4650cac30321 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_observer [0.107316s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/ed0051e4-2794-43a1-a494-93e3389c02eb GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40c02814-1e0e-4a1a-93b0-78b9a94883a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_338_owner_manager_cannot_add_ports_to_other_nodes [0.110765s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '573208e5-cd41-4e26-8f06-ef44022b3793', 'address': '09:01:02:03:04:09'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab8058df-b3b5-40d4-9bb0-c36a073b654c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_034_nodes_management_boot_device_put_observer [0.291015s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8e2e298-7b04-443c-907c-37bf397d50a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_339_owner_service_cannot_add_ports_to_other_nodes [0.098850s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '573208e5-cd41-4e26-8f06-ef44022b3793', 'address': '09:01:02:03:04:09'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59c0fb62-b800-4a0b-8f9c-29d12692c735 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_340_owner_member_cannot_add_port [0.084861s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa02eb96-bf84-41ec-ac0f-8c501c821170 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_282_chassis_post_admin [0.319544s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/3e0cc4b5-89fe-4961-ad23-2fdca5f3d63c DEBUG util.py:445: Openstack-Request-Id: req-d9bcc5a8-9f3a-4973-a4b0-2e43002529e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "3e0cc4b5-89fe-4961-ad23-2fdca5f3d63c", "created_at": "2024-03-19T00:22:02.945857+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/3e0cc4b5-89fe-4961-ad23-2fdca5f3d63c", "rel": "self"}, {"href": "http://localhost/chassis/3e0cc4b5-89fe-4961-ad23-2fdca5f3d63c", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/3e0cc4b5-89fe-4961-ad23-2fdca5f3d63c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/3e0cc4b5-89fe-4961-ad23-2fdca5f3d63c/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_341_lessee_admin_cannot_add_port [0.108628s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0e10aab-dd16-4930-b1fa-7ce9abdddc7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_283_chassis_post_member [0.109991s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8ea42ce-35a1-4b1b-b17f-07b8ce0e2be9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_342_lessee_manager_cannot_add_port [0.100560s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7158b051-9cf5-4832-9c49-76eb1d6e0baa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_284_chassis_post_observer [0.085987s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86e451ab-636f-4428-a85b-785a4b4b2099 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_343_lessee_member_cannot_add_port [0.105622s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82c3927f-47d3-4007-b7aa-14057fcbf392 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_285_chassis_get_admin [0.079762s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04d893c0-dc66-409d-9968-d9833a9a21c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_344_third_party_admin_cannot_add_port [0.085876s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67f1c68d-310e-4dfd-b38e-c907a792bc03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_286_chassis_get_member [0.077261s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-648c27a0-095b-49aa-9630-5984d59bd165 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_035_nodes_management_boot_device_get_admin [0.590116s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80491d36-be6e-4eff-a6a2-fcd89a523a1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_287_chassis_get_observer [0.097516s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f961c7fd-91dc-475d-b75f-657f524d608f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_345_service_can_add_port [0.140775s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f645f49e-feaa-4ec8-a959-fc70eacd7a2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_288_chassis_detail_get_admin [0.068016s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b325658-ecc2-4634-b158-b0a475a1d387 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:22:03.441595+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_346_service_cannot_add_ports_to_other_project [0.117223s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87956ecb-c975-4922-8b4d-f377c2578f0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_289_chassis_detail_get_member [0.114806s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34dbc025-ee66-499e-83bd-c4560bfcaa1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_347_owner_admin_can_modify_port [0.123289s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2681ffd2-7fd2-47ac-9dac-d6f1f6c9a591 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_036_nodes_management_boot_device_get_member [0.375021s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf18b337-d269-42d0-b187-05ce43ed62a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_290_chassis_detail_get_observer [0.224927s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1dae45a-8080-4a9f-8c70-7ec4da30b6a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:22:03.738499+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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_037_nodes_management_boot_device_get_observer [0.110818s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10661dd7-ded9-4d8d-a610-5d7d78f0b91f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_038_nodes_management_boot_device_supported_get_admin [0.070266s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c04103f-f9d2-481c-9a1b-c0c6765984cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [1.732523s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_039_nodes_management_boot_device_supported_get_member [0.100793s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-389b33b4-4534-4277-bc3d-2069f13ae062 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_348_owner_manager_can_modify_port [0.405405s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61e378f9-778b-4a1e-ac42-ed5afdce2f1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_040_nodes_management_boot_device_supported_get_observer [0.105753s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2916ba60-5f75-4052-9a7c-1f0a076efa90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_041_nodes_management_inject_nmi_put_admin [0.093611s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f874f1f-9f30-415e-9b28-deb787206cc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_291_chassis_chassis_id_get_admin [0.516338s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-698cbcea-629b-498a-82ce-9b84dce2d154 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:22:04.036070+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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_042_nodes_management_inject_nmi_put_member [0.177019s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-411a30e4-8ef4-4ede-ada1-982d07cf2971 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_349_owner_service_can_modify_port [0.330150s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-398d4f69-1aee-4c33-92a4-a793ef799e95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACModelBeforeScopes.test_rbac_legacy_292_chassis_chassis_id_get_member [0.223934s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02a188b4-66d9-46a3-915e-b5327fb69720 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_043_nodes_management_inject_nmi_put_observer [0.177772s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81dd43c9-cfe4-43d3-8f24-4e369887f502 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.646659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_044_nodes_states_get_admin [0.079364s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de145890-b54d-46f1-92be-5572b1a36b63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_293_chassis_chassis_id_get_observer [0.261306s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fcdd4c6-f419-41a9-b9a2-59cccfe596ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:22:04.661665+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_350_owner_member_cannot_modify_port [0.304868s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3467ce5-fde2-4cb7-891d-4c3107ec7d78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_045_nodes_states_get_member [0.202332s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0170f15-d535-4f89-9104-68c456beeafa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.270820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_351_lessee_admin_cannot_modify_port [0.122180s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b3dab18-132d-43a3-aab3-286f8c286817 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_294_chassis_chassis_id_patch_admin [0.238324s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be572073-d591-4e0b-8858-06c37b9017f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:22:04.966805+00:00", "updated_at": "2024-03-19T00:22:05.049270+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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_295_chassis_chassis_id_patch_member [0.119405s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8db219a2-9324-45f5-9e0a-77bb1e7e6697 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_046_nodes_states_get_observer [0.314759s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60ca8236-0096-4818-ad68-d85077d70f13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_352_lessee_manager_cannot_modify_port [0.325902s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88249680-437d-40f2-8d28-cb8f7d2f27d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_296_chassis_chassis_id_patch_observer [0.168852s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f4aea00-e242-4535-8fdc-161b9c24fd4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.533242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_047_nodes_states_power_put_admin [0.339558s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ba224fd-d433-4fa5-bea6-077005ee7920 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_353_lessee_member_cannot_modify_port [0.323265s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89b2f340-527f-46c3-8e51-053d08dce162 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_297_chassis_chassis_id_delete_admin [0.339945s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e80ddc5b-aba3-449c-8f01-e7b8a0bd1805 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.387395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_048_nodes_states_power_put_member [0.311958s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1c8ccde-f375-4aca-a4ab-04e8ca2784ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_049_nodes_states_power_put_observer [0.112218s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29acbaa4-7758-4f30-a429-0e9cbc5382ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_298_chassis_chassis_id_delete_member [0.284638s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc1a0cff-b71f-4915-abb0-cd95c41f49ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_050_nodes_states_boot_mode_put_admin [0.084612s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91294bcf-deee-465c-a7a1-01ba01ad9854 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.299036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_051_nodes_states_boot_mode_put_member [0.173787s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb4617cc-6919-4920-a658-5d11152941ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.189112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_299_chassis_chassis_id_delete_observer [0.401116s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4cc9a05-2228-40c9-a59c-260fa5513444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.116882s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_052_nodes_states_boot_mode_put_observer [0.212944s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05fa2e1e-1931-4f06-951a-6a9b0f944f09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_053_nodes_states_secure_boot_put_admin [0.101226s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12884e8c-5a8f-4f17-a8e2-e98932a0542b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.181381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_054_nodes_states_secure_boot_put_member [0.193100s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-441cdaef-549b-4aaf-872b-42be6918f18b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_cleaning_automated [0.301183s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_300_node_history_get_admin [0.467697s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d119e833-c173-4b26-9504-10de6a2f6282 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "084bfaed-765b-4843-8750-2c391d9ea30f", "created_at": "2024-03-19T00:22:06.697873+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/084bfaed-765b-4843-8750-2c391d9ea30f", "rel": "self"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_055_nodes_states_secure_boot_put_observer [0.230091s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cca2433b-6f4e-4748-820f-796d80739df0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_354_third_party_admin_cannot_modify_port [1.366160s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a232948-3aa6-4a9d-91a5-55cd68c1b35a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_056_nodes_states_provision_put_admin [0.223814s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50ef4499-5b92-46d4-a0d3-ec71988db303 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_cleaning_manual [0.287217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_057_nodes_states_provision_put_member [0.089943s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55920be3-117c-42c1-b00c-3af7a70fda36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_058_nodes_states_provision_put_observer [0.143728s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a0202a9-6282-4565-8a0d-b73c2651a7ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_deploying [0.241429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_301_node_history_get_member [0.517203s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5eacabb4-5284-438d-bdb2-e0c33aade6a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_059_nodes_states_raid_put_admin [0.184977s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1b5d98f-db84-4938-8f54-9efc1303987c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_355_owner_admin_can_delete_port [0.547473s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86972484-1d80-43bd-b9ea-88700941b74d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.177725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_060_nodes_states_raid_put_member [0.111071s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a47f4ad-71fa-492a-b241-d8ad96259ba6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.148540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_061_nodes_states_raid_put_observer [0.146399s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47073921-a43c-4351-9935-5aa0533f7eda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_302_node_history_get_observer [0.521359s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4816349-9515-4ebf-b54c-a8868c044d81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "58084e6e-1993-4c42-9b91-9f17afe5b2eb", "created_at": "2024-03-19T00:22:07.836537+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/58084e6e-1993-4c42-9b91-9f17afe5b2eb", "rel": "self"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.355751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_062_nodes_states_console_get_admin [0.259780s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af5fbfbc-b50a-4dcb-a802-9a9624a7dde1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_356_owner_manager_can_delete_port [0.614382s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba310fae-8a49-4944-9eb8-91b4ce4ae0f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_063_nodes_states_console_get_member [0.159317s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13037980-04ea-46a0-b44b-30459cb485e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_064_nodes_states_console_put_admin [0.085134s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2e671a5-2c39-4886-a07d-8e0df6b3cf56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.326401s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_065_nodes_states_console_put_member [0.119349s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-000aa372-54aa-4792-827b-5b4babbdffc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.122504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_303_node_history_get_entry_admin [0.623856s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e5d83822-ef96-4296-9be9-fc0af6d16839 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c88fa54b-219b-4981-b9c1-0ee7b3c4b376 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e5d83822-ef96-4296-9be9-fc0af6d16839", "created_at": "2024-03-19T00:22:08.378276+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/e5d83822-ef96-4296-9be9-fc0af6d16839", "rel": "self"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.124329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.138892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_357_owner_service_can_delete_port [0.738220s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06eab40d-655b-44a9-9632-3c7dffc6b49a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_066_nodes_states_console_put_observer [0.465575s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c01bf0bc-53d7-4c97-80be-bb2b36a723de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_067_nodes_vendor_passthru_methods_get_admin [0.089543s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3907a36-07f5-4cbb-8b18-5dd129932f0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.230894s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_304_node_history_get_entry_member [0.582898s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a13f8353-64b6-411f-89b6-da851fd416de WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-327b6bda-31e7-447d-b059-e0c15b2acfb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_068_nodes_vendor_passthru_methods_get_member [0.170240s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91005188-2cb6-489a-99d5-9f2738cdd653 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.216895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_069_nodes_vendor_passthru_methods_get_observer [0.074989s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a7addea-38ef-4801-9341-de071135d7be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_070_nodes_vendor_passthru_get_admin [0.136723s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26876ee4-a690-4bdf-866d-ad47cfa3600e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.185226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_358_owner_member_cannot_delete_port [0.517903s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2e06ed6-6dd5-4204-8d73-c9d0631e08c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_071_nodes_vendor_passthru_get_member [0.093452s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d242965-bcd2-4429-8aa9-ef5db9ffb8fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_072_nodes_vendor_passthru_get_observer [0.102078s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-342084d7-58af-46bb-a9a2-ec5659a733c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.172351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_073_nodes_vendor_passthru_post_admin [0.116272s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a8622eb-55b2-44e0-94fa-fd915ea8a3f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_074_nodes_vendor_passthru_post_member [0.110274s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26a9832d-210f-49a9-967a-12ce362c5b17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.214790s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_305_node_history_get_entry_observer [0.667652s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9b3d33cc-8426-4743-a990-320dfd30a909 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b15886c5-f4e6-4984-a3be-fbb0ff844579 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9b3d33cc-8426-4743-a990-320dfd30a909", "created_at": "2024-03-19T00:22:09.676901+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/9b3d33cc-8426-4743-a990-320dfd30a909", "rel": "self"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_075_nodes_vendor_passthru_post_observer [0.100611s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e733c17-73f3-45e8-9a19-b5ce21770834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.084193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_076_nodes_vendor_passthru_put_admin [0.070812s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db1b1f78-89b1-4bcc-9270-19c01450f870 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.078591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.133930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.065243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_077_nodes_vendor_passthru_put_member [0.088420s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-340e6d55-ebf5-439a-b005-ca2eefef3743 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_359_lessee_admin_cannot_delete_port [0.645431s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d728c455-11c6-4fea-9a7a-08c417bbad35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_078_nodes_vendor_passthru_put_observer [0.123971s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee5ca9c6-cd7d-4a93-be80-999c6739e624 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_079_nodes_vendor_passthru_delete_admin [0.105386s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cfd84758-d3f0-4694-892b-cf696ce2fbb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_080_nodes_vendor_passthru_delete_member [0.137666s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e20b058e-b337-4a7a-9d9e-0c83865947c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.417952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.480816s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.098391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_081_nodes_vendor_passthru_delete_observer [0.140419s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1701ca29-29cb-47b0-bfd5-79b65385e45d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.109391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.045388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_082_nodes_traits_get_admin [0.081453s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9658bac9-1351-4d31-900e-900ee490b3bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.041206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_083_nodes_traits_get_member [0.087478s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bbf7b5a-3303-4faf-abd7-feabe80a2e52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.060455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_360_lessee_manager_cannot_delete_port [0.698566s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43a0bf6b-f002-4a4c-81eb-cb0488748bbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.220457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.062265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_084_nodes_traits_get_observer [0.073956s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f690fb7e-1af2-45d5-9d99-b1e6c28b7bd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.065028s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.124880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_085_nodes_traits_put_admin [0.103513s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13e0b5a2-f41b-49eb-8013-07ed9c709537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.061358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.066931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.072305s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11154680-0d70-4c10-aff0-02ffcc6b041f DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.90"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.90"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.048758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/foo WITH {} 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: {0} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.046015s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ GOT Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55986097-bfa1-42d1-a805-9bbd9f0ce10e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.120915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.037739s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: foo() migrated 15 of 15 objects. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_086_nodes_traits_put_member [0.225772s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc22b704-32b4-4438-abd6-3a9e2919066b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.060129s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: func1() migrated 15 of 15 objects. DEBUG util.py:445: func2() migrated 20 of 20 objects. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_087_nodes_traits_put_observer [0.102040s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12764a36-a45a-475a-becc-ef6df3cddb4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.051197s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: func1() migrated 10 of 10 objects. DEBUG util.py:445: func2() migrated 0 of 0 objects. DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_361_lessee_member_cannot_delete_port [0.520235s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c50255a-ddd4-46de-8f4a-2a08d14d20bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_do_node_service [0.228924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.077074s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: func1() migrated 10 of 15 objects. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_088_nodes_traits_delete_admin [0.114882s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db659836-b01b-4180-bc2e-1a2601ff624c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.055736s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: func1() migrated 10 of 10 objects. DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.035894s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: Error while running foo: bar. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_089_nodes_traits_delete_member [0.080648s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f5f0070-c36b-44c1-a691-28697d511deb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.055941s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_do_node_service_maintenance [0.159717s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.048275s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.028830s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_090_nodes_traits_delete_observer [0.129566s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36fb7604-8ee1-4d28-a96b-d38eaa18050d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.037298s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Data migrations have completed. DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.031000s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.033879s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: Malformed option m1key1=value1 DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_091_nodes_traits_trait_put_admin [0.107316s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eda776e2-73b5-44d2-a491-272c0c1d2bb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_092_nodes_traits_trait_put_member [0.105620s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae81a5bf-61cc-4eea-afa4-1fcf2e4b37fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_362_third_party_admin_cannot_delete_port [0.530132s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0cca825-ecb4-4883-bf3b-c23a35469eae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_093_nodes_traits_trait_put_observer [0.096169s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9e093f1-096a-4213-8b64-00ade39c8019 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_094_nodes_traits_trait_delete_admin [0.091079s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38987417-1d71-46c3-8fbc-c804d3be6cc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_095_nodes_traits_trait_delete_member [0.114854s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c5275bf-71b0-4f7e-b1b0-0163d9cda25d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_096_nodes_traits_trait_delete_observer [0.092311s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6bb2307-03b5-4b11-8c0d-5aba07aeb687 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.615565s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: Malformed option m1.key1value1 DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_097_nodes_vifs_get_admin [0.107137s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cc3d56d-63dd-409a-a79c-1baaa36ffe8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_363_owner_reader_can_get_node_ports [0.493260s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bcb7aa3-dc91-49bc-b9ab-9c4e7c21622a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.083761s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: "max-count" must be a positive value. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_098_nodes_vifs_get_member [0.112049s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2faad0f4-b4dd-450b-86ff-4b4d7a1b43d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.093106s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: Data migrations have not completed. Please re-run. DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.106424s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_099_nodes_vifs_get_observer [0.206116s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0052d5b9-10b0-4324-a457-7fdf4fcfbdbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.109044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_100_nodes_vifs_post_admin [0.095804s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf783caf-a20b-4f15-a652-4e16c8efc24e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_364_owner_service_can_get_node_ports [0.443375s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eaf8f91c-cf4e-4a84-9463-2c6701f8a0f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.071017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_101_nodes_vifs_post_member [0.122394s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a2db675-a43e-4056-97ba-46d9ac1c2670 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_102_nodes_vifs_post_observer [0.078428s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e557ca2-1715-44d9-8bfe-8c99edda585e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.168527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.070307s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: This is bad DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.045180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.098302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_103_nodes_vifs_node_vif_ident_delete_admin [0.301137s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81327961-d2ca-42d9-b4cf-445a55cce4b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.145032s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_104_nodes_vifs_node_vif_ident_delete_member [0.124690s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0237567a-f8b7-4eba-a69c-b571b427a387 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.047070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_105_nodes_vifs_node_vif_ident_delete_observer [0.086383s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95097d71-2e4e-4448-b64a-c94c63b09ca7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.094854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_106_nodes_management_indicators_get_admin [0.090806s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0602ae9c-0732-41a0-9f38-3e591491995c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.112700s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_107_nodes_management_indicators_get_member [0.082225s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac3b0dfd-b883-4a06-a0b3-ad381a77f682 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_365_lessee_reader_can_get_node_port [0.834130s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28eba67b-8694-4100-bd2d-97189be5b61f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.073557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_108_nodes_management_indicators_get_observer [0.077556s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1aa1a9d0-ce2b-470a-bc6c-6a3f67d599d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.096128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.107049s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.088457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [2.551285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.102910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_112_portgroups_get_admin [0.092782s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8b4dc23-7ded-49dc-92bb-c4a27a60d597 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_366_third_party_admin_cannot_get_ports [0.480635s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-735825bc-8aec-4a27-bc5d-5334694905a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_113_portgroups_get_member [0.099066s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da71c952-c65d-4a93-b02f-d8a102a5ece9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.164386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.171890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_114_portgroups_get_observer [0.120872s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e15748e1-3a0a-46dd-8700-044548d2e99c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.135500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_115_portgroups_post_admin [0.117531s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-173e0e22-aacb-4df9-8d9c-c66f6efd9ecb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.234837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_367_service_cannot_get_ports [0.358673s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2799fcac-3556-499b-934b-994ab7c57876 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.192352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_368_owner_reader_can_get_ports_by_portgroup [0.153670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-571b9b0e-ff8c-4c7d-a107-73ea2cad8528 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.134609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_116_portgroups_post_member [0.331076s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4dd7f3d2-a19e-4293-bcba-14e353c5bd48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.315772s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.197654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_369_owner_service_cam_get_ports_by_portgroup [0.326120s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d0f18d8-8d9a-474e-9adf-f6226fc01dbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_source_path [0.272416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.126044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_117_portgroups_post_observer [0.410716s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd99d0af-859f-4b5f-8511-200ac2bbf635 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_370_lessee_reader_can_get_ports_by_portgroup [0.221753s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59065750-4b5c-4b29-8eaa-1f915eeaa7fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.135705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.143603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_118_portgroups_detail_get_admin [0.172457s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51c96348-e214-4ce4-a368-da14a56b88b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.309531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.054310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_119_portgroups_detail_get_member [0.084777s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e818e0af-14d8-4577-bc7c-7ba217aa0900 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.183014s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.294032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_371_third_party_admin_cannot_get_ports_by_portgroup [0.509489s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/5810f41c-6585-41fc-b9c9-a94f50d421b5/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e889ab1b-2832-4638-87b8-05f74332a037 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.183858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_120_portgroups_detail_get_observer [0.353347s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6d8bc03-8306-406f-a0a7-109beb9568b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.174634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_372_service_cannot_get_ports_by_portgroup [0.330236s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/5810f41c-6585-41fc-b9c9-a94f50d421b5/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-206f2c50-15aa-4d1c-830b-efc93f3bc74b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.335343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_121_portgroups_portgroup_ident_get_admin [0.289976s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4b6b8a5-87c8-433e-9546-2370a6da2a8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.234079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_122_portgroups_portgroup_ident_get_member [0.167253s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53b95413-1d62-4f39-b8ef-15bb6d4903a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.202449s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.246482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.168619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_373_owner_reader_can_list_volume_connectors [0.461986s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76834b16-0ff7-4985-9178-dbaa96273db9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.324467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_123_portgroups_portgroup_ident_get_observer [0.419020s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ea08e2e-62a1-4422-9e6b-fb595af9c62a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval_not_happen_sqlite [0.215333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.071669s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_374_lessee_reader_can_list_volume_connectors [0.450728s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-198b6d0c-65ca-401d-9f04-da9ebfde2340 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.300170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.191768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.054769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_124_portgroups_portgroup_ident_patch_admin [0.336867s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-695d67b2-ba95-4c7e-8f20-199e50e3cadc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_375_third_party_admin_cannot_get_connector_list [0.163988s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-788d62c9-a90e-4376-84de-39303502f48d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": []} DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.099057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_125_portgroups_portgroup_ident_patch_member [0.188715s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecf07cf7-ff4e-49f4-8d35-4ee5a1c6c307 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.224919s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_376_owner_admin_can_post_volume_connector [0.237273s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/065e67a9-a2ee-41c3-8225-9218acd4f76f DEBUG util.py:445: Openstack-Request-Id: req-5e35b7d8-a886-40e4-872a-f87069318acc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "065e67a9-a2ee-41c3-8225-9218acd4f76f", "created_at": "2024-03-19T00:22:17.339832+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/065e67a9-a2ee-41c3-8225-9218acd4f76f", "rel": "self"}, {"href": "http://localhost/volume/connectors/065e67a9-a2ee-41c3-8225-9218acd4f76f", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_126_portgroups_portgroup_ident_patch_observer [0.242303s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c333056-0af2-40c4-9e94-ff4917de7b0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.084599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.587274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.067243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_377_owner_manager_can_post_volume_connector [0.258723s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/e3762a2e-4933-487f-b64f-8dcca213cccb DEBUG util.py:445: Openstack-Request-Id: req-2091aa55-86f1-477c-86ff-214def8ba421 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e3762a2e-4933-487f-b64f-8dcca213cccb", "created_at": "2024-03-19T00:22:17.572932+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/e3762a2e-4933-487f-b64f-8dcca213cccb", "rel": "self"}, {"href": "http://localhost/volume/connectors/e3762a2e-4933-487f-b64f-8dcca213cccb", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.083218s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_127_portgroups_portgroup_ident_delete_admin [0.216072s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc7c3237-ca84-407d-9cb8-3695ced54407 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.101236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.074989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.131648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_378_owner_service_can_post_volume_connector [0.354834s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/851ef21c-49ec-483a-a619-325c6c96575a DEBUG util.py:445: Openstack-Request-Id: req-c05b65e9-c1ce-4c3f-95a8-effda08c8642 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "851ef21c-49ec-483a-a619-325c6c96575a", "created_at": "2024-03-19T00:22:17.963429+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/851ef21c-49ec-483a-a619-325c6c96575a", "rel": "self"}, {"href": "http://localhost/volume/connectors/851ef21c-49ec-483a-a619-325c6c96575a", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.444760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.072469s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_128_portgroups_portgroup_ident_delete_member [0.389639s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1235038f-86ce-43da-a3fb-5b67766d5f31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.062159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.067105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_length [0.080826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_type [0.058306s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_379_lessee_admin_cannot_post_volume_connector [0.354178s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76e7c7b2-d97d-41db-b6bb-51e0db09f2e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.362544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_129_portgroups_portgroup_ident_delete_observer [0.281353s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52fa4447-ef78-4a8e-9c82-5478afc4a525 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_other_error [0.080912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_redirect [0.120079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_returns_none [0.112668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_simple [0.052639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.366984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_380_lessee_manager_cannot_post_volume_connector [0.396437s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47c34618-9a77-4baa-84bb-466cec5affb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_explicit [0.042996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_130_nodes_portgroups_get_admin [0.395819s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69be8991-cc73-4606-9002-7393d23b22b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.089229s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.134833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image_with_type [0.058589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_381_third_party_admin_cannot_post_volume_connector [0.325661s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3efb0da6-f3b7-4137-8254-18056f9359d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.369970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_131_nodes_portgroups_get_member [0.378449s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fdae717-1674-4284-911e-ab88e4b8418d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.121102s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.037701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.107300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_382_service_admin_cannot_post_volume_connector [0.415692s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5582a691-78b9-4d87-a71b-bb67729148db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.186259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_132_nodes_portgroups_get_observer [0.385592s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fedb18e4-1a97-4630-8dc6-3ddece45b7dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_383_owner_reader_can_get_volume_connector [0.172483s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-109f4818-e4d0-4d38-8e36-87021ce411ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:22:19.593658+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: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.219800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_133_nodes_portgroups_detail_get_admin [0.194758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ca1904a-f90b-4385-a2e3-03451485d34b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_384_lessee_reader_can_get_volume_connector [0.092970s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11f7c9f0-f667-45ef-8087-ba54091b0108 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:22:19.696706+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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_385_third_party_admin_cannot_get_volume_connector [0.084620s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15d85036-5b1a-422c-8422-bd804bcdaac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_386_lessee_member_cannot_patch_volume_connectors [0.097909s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11a949e7-b51d-4323-add6-e8bc62dedf73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_387_owner_admin_can_patch_volume_connectors [0.091288s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d870012-bf2b-4319-8b8a-10948f2deb73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.341274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_388_owner_manager_can_patch_volume_connectors [0.086123s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66a662cc-cfea-4562-bdc5-27bb2d31733c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_134_nodes_portgroups_detail_get_member [0.374841s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad257d09-0abb-440b-8319-5a3ce6adcdc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [1.023273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_389_lessee_admin_cannot_patch_volume_connectors [0.086932s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89752b9f-912b-4c3c-8595-b6594715ea91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.250408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.180769s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.121859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_390_lessee_manager_can_patch_volume_connectors [0.298260s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2dec356f-835f-4185-bf35-0b44c39bdc01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_135_nodes_portgroups_detail_get_observer [0.466636s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d7d998e-1e37-438a-9d90-8bfae1daa825 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.168794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_391_owner_member_can_patch_volume_connectors [0.108481s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5dea8d0-129d-48d9-8f2e-65839b000a71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.118865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.456520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_392_third_party_admin_cannot_patch_volume_connectors [0.135329s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb4f73ea-c2a4-4a3e-aef7-d35926cd6bee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.097982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_136_ports_get_admin [0.344032s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e20a76ec-3f38-4d95-b8c1-2bf4e95efd2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.179326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_393_owner_admin_can_delete_volume_connectors [0.297975s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-edd2e238-8b2b-46a6-972e-4068e5c1b83d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.317082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.196343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_137_ports_get_member [0.302731s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f35eb31-394b-4e49-ab09-351c3255510a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_394_owner_manager_can_delete_volume_connectors [0.228717s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30069e30-75eb-4c63-bcf3-5c771b4373e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.362558s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_395_owner_service_can_delete_volume_connectors [0.174295s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0e9b833-e97a-4127-9432-32f289653103 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.304472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_138_ports_get_observer [0.273506s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9fcf7aaf-2527-4f4b-a81a-d1ad677c81b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.097466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.038296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.049520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_139_ports_post_admin [0.103547s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7004c14-0649-4567-8d4f-03257c8c06d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_140_ports_post_member [0.073180s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3407c37-67e0-4456-9808-1a06a2978a9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.092152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.041360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_141_ports_post_observer [0.084868s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd5b2c94-6a39-4518-8be0-135a10a206d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.030905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_396_lessee_admin_can_delete_volume_connectors [0.328414s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fe53013-b509-4379-892a-a38621fbdf41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.025115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_142_ports_detail_get_admin [0.070724s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50f793c8-8b7e-4af5-bd6d-6d088db0a356 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.384772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_143_ports_detail_get_member [0.093911s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c3559a9-5fdd-417c-a979-ff1a2bad3d5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_397_lessee_manager_can_delete_volume_connectors [0.259387s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70becce6-21d4-42f6-9a97-7976037782cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_144_ports_detail_get_observer [0.140156s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9b655e4-d7ce-4182-b561-15a254a7d923 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.255000s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.134595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.493181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_398_third_party_admin_cannot_delete_volume_connector [0.345148s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-561f2d68-647c-4b2e-a77b-ef2342616372 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.160111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.158245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_145_ports_port_id_get_admin [0.416377s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48cdc6ae-374a-4f38-ab2d-d2b970aca177 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.092289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.035142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.143430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_399_service_cannot_delete_volume_connector [0.291597s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f703890-46e9-4487-93cd-d52eabaf9222 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.111372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.189035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.067869s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_146_ports_port_id_get_member [0.306721s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c5ab104-c443-4568-a2bc-7f2c07c4a6b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.143684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_400_owner_reader_can_get_targets [0.290128s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81c7485a-5444-4823-b48c-f81b36d5ec8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.069167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.079374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_147_ports_port_id_get_observer [0.313378s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-552d29d4-72ee-4819-ac2a-252f0ed22e23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.064445s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.414517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.055451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.132187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_401_lesse_reader_can_get_targets [0.339065s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f39349ee-05b1-4dd6-9467-2b42c65c0c85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.127680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.133345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.080248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.076211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.085403s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_402_third_party_admin_cannot_get_target_list [0.239836s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c9d32bc-ae24-4788-ad0c-e8f28a2671fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"targets": []} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.060413s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.153105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_148_ports_port_id_patch_admin [0.534273s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f77b6b56-ac21-45e5-865c-1f769346e6f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.100936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.064544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_disabled [0.172240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.193327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.086319s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_403_owner_reader_can_get_volume_target [0.390877s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7dc9459-8741-4e2e-b191-0ea58243b44a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:22:23.836647+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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_149_ports_port_id_patch_member [0.374982s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c1156a5-0ca3-4caf-bb71-5ef324c7ad4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_manager.SensorsTestCase.test___send_sensor_data_one_worker [0.128426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.208723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.084918s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.072467s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.104200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_150_ports_port_id_patch_observer [0.305418s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6f857db-95e8-428b-ac2f-8e4494aa656e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.121470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.242369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_404_lessee_reader_can_get_volume_target [0.483175s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd06a0e7-891c-4b68-803e-8f9846c173f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:22:24.265566+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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_151_ports_port_id_delete_admin [0.115619s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3336c659-ea18-4f2c-8998-f066937f4ee1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_manager.SensorsTestCase.test__sensors_conductor [0.160813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.142034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.155753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.163017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_152_ports_port_id_delete_member [0.336752s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61b7c86c-fa5f-4ed0-881b-57e8e8d8fce4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_405_third_party_admin_cannot_get_volume_target [0.389389s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a732da41-51fe-4254-a090-8ab9b25b586f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.138537s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.233910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.108063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_153_ports_port_id_delete_observer [0.233319s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee89e181-552d-44d3-a084-2d938c4ca70f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe_anaconda [0.070397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_406_owner_admin_create_volume_target [0.204669s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/fa8229a6-6f7a-47a8-a767-d3067418d8fc DEBUG util.py:445: Openstack-Request-Id: req-3e8cf0c7-ba44-4cd4-9049-95ce25fc5794 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fa8229a6-6f7a-47a8-a767-d3067418d8fc", "created_at": "2024-03-19T00:22:25.038386+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/fa8229a6-6f7a-47a8-a767-d3067418d8fc", "rel": "self"}, {"href": "http://localhost/volume/targets/fa8229a6-6f7a-47a8-a767-d3067418d8fc", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.186039s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_154_nodes_ports_get_admin [0.138105s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47776c12-83c9-4959-b9bb-5219fba7a46b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.160369s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.051776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.170004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.043225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.050997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_407_owner_service_create_volume_target [0.351975s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/7e96d882-7c9c-4776-bbc9-d5c439ade4bc DEBUG util.py:445: Openstack-Request-Id: req-8c41a417-e584-4372-98b4-4c2937afc733 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7e96d882-7c9c-4776-bbc9-d5c439ade4bc", "created_at": "2024-03-19T00:22:25.370902+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/7e96d882-7c9c-4776-bbc9-d5c439ade4bc", "rel": "self"}, {"href": "http://localhost/volume/targets/7e96d882-7c9c-4776-bbc9-d5c439ade4bc", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_155_nodes_ports_get_member [0.240398s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f15688c3-c2e7-4790-82e2-b864b583548c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.096076s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_url_http [0.089388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.266776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.048262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.050252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.030662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.029012s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.055044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_408_owner_manager_create_volume_target [0.254733s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 3, 'volume_id': 'test-id'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/4b54523f-d1ce-4816-b215-01fe8ffcac80 DEBUG util.py:445: Openstack-Request-Id: req-5342a148-28ba-4445-bdc4-4a8324370f26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4b54523f-d1ce-4816-b215-01fe8ffcac80", "created_at": "2024-03-19T00:22:25.644897+00:00", "updated_at": null, "boot_index": 3, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/4b54523f-d1ce-4816-b215-01fe8ffcac80", "rel": "self"}, {"href": "http://localhost/volume/targets/4b54523f-d1ce-4816-b215-01fe8ffcac80", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.039917s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.064334s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.064047s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.057441s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.042813s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.053688s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.055535s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.091940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_156_nodes_ports_get_observer [0.473706s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aaca87b3-7b78-4fac-a0c1-09392efd2abe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.032762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.072271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_409_lessee_admin_create_volume_target [0.308347s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/bfbc5676-04ec-4253-b7e6-4db7d9c41c1f DEBUG util.py:445: Openstack-Request-Id: req-e5e0b9e0-676b-4f0b-8486-bb83e0d9a4db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "bfbc5676-04ec-4253-b7e6-4db7d9c41c1f", "created_at": "2024-03-19T00:22:25.945056+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/bfbc5676-04ec-4253-b7e6-4db7d9c41c1f", "rel": "self"}, {"href": "http://localhost/volume/targets/bfbc5676-04ec-4253-b7e6-4db7d9c41c1f", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.056402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.104370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.094340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_410_lessee_manager_create_volume_target [0.169274s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id3'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/516348e0-09b9-4a98-9171-da1583d709f8 DEBUG util.py:445: Openstack-Request-Id: req-c5174f6b-efb7-47a1-908a-c39c4a013db1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "516348e0-09b9-4a98-9171-da1583d709f8", "created_at": "2024-03-19T00:22:26.119891+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id3", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/516348e0-09b9-4a98-9171-da1583d709f8", "rel": "self"}, {"href": "http://localhost/volume/targets/516348e0-09b9-4a98-9171-da1583d709f8", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.179455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_411_third_party_admin_cannot_create_volume_target [0.081691s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45ac516a-b605-49ac-a1d0-b0e62ba6b933 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.029758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.121083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.030550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_ramdisk [0.025374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.026634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_412_owner_member_can_patch_volume_target [0.098966s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35935237-523b-43b4-b2a3-052e1748f7ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.023933s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.022730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.030570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_157_nodes_ports_detail_get_admin [0.524846s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c00f9605-69cf-40fc-a12d-44864bd73960 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.033703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_413_owner_service_can_patch_volume_target [0.109763s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ceb1c72-906a-41cb-856f-e292f6565bf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_raises_exception_with_absolute_path [0.027726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.034666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_chmod [0.029667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_414_lessee_admin_can_patch_volume_target [0.111181s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c42bb096-da61-404b-9f06-5bddc5d0ae2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_copy [0.056747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.046560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_415_lessee_manager_can_patch_volume_target [0.134141s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d01f2cc-6004-40fb-b51b-8403ba0d7397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.093212s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_416_lessee_member_cannot_patch_volume_target [0.113544s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49b797b6-b867-4af5-9d05-b4d267309e48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.088167s] ... 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.052324s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.672049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.047119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_417_third_party_admin_cannot_patch_volume_target [0.126209s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6efbb4df-7b0d-4faf-b712-a66757e00809 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.058041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.042661s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_158_nodes_ports_detail_get_member [0.584655s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e37be1a-da27-4310-9606-7fb93e7a62b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.049122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_418_service_cannot_patch_volume_target [0.167183s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ceb70fea-971d-443c-9a23-4000c40f7a6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.039796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.047545s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.057329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.051296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_419_owner_admin_can_delete_volume_target [0.235620s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7db4f214-dd14-4b60-bb63-d3449633940f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.068871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_420_owner_manager_can_delete_volume_target [0.154948s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0db3ba8b-b895-4975-8a1c-c40e475f6295 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.203553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.684063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_159_nodes_ports_detail_get_observer [0.583835s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-938f8aa7-e70e-4d19-a77f-c0e65b5fcd2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_421_lessee_admin_can_delete_volume_target [0.148743s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81b9e5be-5bdb-47aa-8288-237e2d5b5967 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.214642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_160_portgroups_ports_get_admin [0.222807s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a3b0549-f41d-4858-a165-c2bf1ea71d07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.370972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_422_lessee_manager_can_delete_volume_target [0.348290s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1adaa03-4468-46c1-807f-6a536d88c320 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.252627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_161_portgroups_ports_get_member [0.376940s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b6e3286-9651-40ac-83cd-e9b3787d1f21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_423_owner_member_cannot_delete_volume_target [0.344992s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68a96d0b-e8dc-4cbb-9f7c-872adcd38bf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.377978s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_162_portgroups_ports_get_observer [0.223562s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22d63ee9-37f4-43a2-a9f5-4bb742ec6393 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.530305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.175282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.351514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_424_lessee_member_cannot_delete_volume_target [0.395446s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d2ebc93-ba47-46ef-bd05-73b9898b3273 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_163_portgroups_ports_detail_get_admin [0.452699s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8774526-a449-4006-af85-9d1f43807c33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.231142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.299486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_425_third_party_admin_cannot_delete_volume_target [0.337699s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be1b85aa-ef7b-4fea-ae3f-eaf292fc9547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.210487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_164_portgroups_ports_detail_get_member [0.277667s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17a9db45-057a-42c6-a949-0b214e077104 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.202506s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_426_service_cannot_delete_volume_target [0.234520s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84e3652a-94b1-40bb-8ff1-1a23eddc1988 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.160420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.109203s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_165_portgroups_ports_detail_get_observer [0.269328s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cbebf61e-d416-4cce-8a14-c67ba5070a35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.256008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.287063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_166_volume_get_admin [0.149904s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f32cfaec-dd4c-45d0-9f59-66a0ff4d65d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.062060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_427_owner_reader_can_get_volume_connectors [0.372763s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74cbacfb-dba5-4ed9-8d3e-f4b5a1b303b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_cannot_use_reserved [0.058187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_no_reserved [0.068055s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_167_volume_get_member [0.181579s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa6b4010-77bc-4ad2-bf7d-b5a80eb16125 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.041595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.197581s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_reserved [0.057443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_168_volume_get_observer [0.170992s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e929c22-71e5-4efb-a891-e282477617d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.135551s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.154027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_428_owner_service_can_get_volume_connectors [0.445784s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c9ad12a-a99a-4611-a5f8-c2340c807c9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_169_volume_connectors_get_admin [0.203525s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c76386fa-ab68-45fa-a598-779f0b2a42c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.182971s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_429_lessee_reader_can_get_node_volume_connectors [0.093293s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a513073d-9513-493f-9ab2-aab6d6131965 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.263416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_430_third_party_admin_cannot_get_node_volume_connectors [0.100875s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51d78953-dc03-4b73-901c-16a0e6373c28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_170_volume_connectors_get_member [0.169423s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dcaa37d-6e3a-4040-98ac-0e5b6a53b4ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.207430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_431_service_cannot_get_node_volume_connectors [0.100666s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7608d11b-abfd-401c-94d6-8fa9b5626542 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.078062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_432_owner_reader_can_get_node_volume_targets [0.095080s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab586bba-34c3-4a44-b4d1-b1c471062d8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.129421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_433_owner_service_can_read_get_node_volume_targets [0.103096s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa127d3e-a099-4b04-8911-491131d88528 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.063627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_434_lessee_reader_can_get_node_volume_targets [0.086403s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcb878ef-18c8-489c-a0da-f259e34cfe30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.142350s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_435_third_part_admin_cannot_read_node_volume_targets [0.114165s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c10d2699-1dca-4a82-b185-5bd0815e717c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.526174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_171_volume_connectors_get_observer [0.545231s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20e6dd6e-7acb-4ab4-b8ec-4cec7504192f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.127473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_436_service_cannot_read_node_volume_targets [0.138924s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f68d163c-6e9c-4e54-a965-f58d8e19adfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.087886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_437_owner_reader_cannot_get_drivers [0.077880s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-466d26d2-64ec-49ee-be44-af2c6556dc12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.048714s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_438_lessee_reader_cannot_get_drivers [0.075758s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92f1f277-93e2-40a4-b59c-a6b887d4c141 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.058712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_172_volume_connectors_post_admin [0.238076s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e760aa01-dab3-4592-ae12-2b5c634e0e65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.043517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_439_third_party_admin_cannot_get_drivers [0.103652s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd618592-9768-4479-a115-df0a8ba06f00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.038185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.099798s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.487765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_173_volume_connectors_post_member [0.208422s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45df0c5b-e7d4-4f05-b842-b8e92781297b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.100158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.059468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_174_volume_connectors_post_observer [0.138509s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d811e77-353b-4f65-8595-0441676e1408 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.059801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.046764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.038655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.052770s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_440_service_cannot_get_drivers [0.477044s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce696db8-8817-4968-919c-3bd924d2a5c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.048868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_175_volume_volume_connector_id_get_admin [0.231947s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4df9a13c-baa9-4df1-b274-328c576e5d51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.520845s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.110386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.033961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.105824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_441_owner_reader_cannot_get_drivers_vendor_passthru [0.305432s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5dad8ed-adb8-4a98-bfbd-dfc1f0dff2a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_176_volume_volume_connector_id_get_member [0.342472s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c552498c-5ba9-4f2a-9b67-b5c6a057ee48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.251121s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.141948s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_442_lessee_reader_cannot_get_drivers_vendor_passthru [0.141893s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2d72ddd-53ab-4f41-8840-67894b109690 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.101252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.078029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.139228s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.131058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_443_third_party_admin_cannot_get_drivers_vendor_passthru [0.260025s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64a73393-e4e0-40a6-9853-a06b1dbd7b83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_177_volume_volume_connector_id_get_observer [0.337348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37daa1b4-4d17-40e3-b5ee-79c1dd04db3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.122408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.147064s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_178_volume_volume_connector_id_patch_admin [0.172540s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-510bd2f2-70c9-4e3b-87f5-ef3d5cb50189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_444_service_cannot_get_drivers_vendor_passthru [0.193219s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc553694-369e-4d59-b31f-1df8f6bfbe21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.163518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.144852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_179_volume_volume_connector_id_patch_member [0.115225s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e3e8e39-82eb-4447-baff-623f469b8794 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_180_volume_volume_connector_id_patch_observer [0.118598s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c31eb4a-282a-43ee-8f59-436e4e4ecfe0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_445_owner_reader_can_get_bios_setttings [0.241930s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f53bc358-d012-43ce-9143-462e87a3d13d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.242412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.248270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_181_volume_volume_connector_id_delete_admin [0.167303s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1d7e541-93ec-4789-bcf2-203e862bcd3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_446_lessee_reader_can_get_bios_settings [0.197753s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4299f546-06eb-411f-ad8a-379bc575e70b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.182002s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.212368s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_182_volume_volume_connector_id_delete_member [0.149455s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c189dd33-75fe-45a1-80f3-378744b656d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.133165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_183_volume_volume_connector_id_delete_observer [0.080322s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b47be04-d7b1-4e05-89ae-75b491fdab6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.188446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_447_third_party_admin_cannot_get_bios_settings [0.300458s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3dd37ba2-062a-4dc5-9479-c18bf13bc7b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.125475s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.220097s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_448_service_can_get_bios_setttings_owner_project [0.263927s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0e99677-9af5-48f8-8ca3-29376a7a821e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.218196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_184_volume_targets_get_admin [0.451033s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7b02e95-7895-470b-98e0-b868d3fc390c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_185_volume_targets_get_member [0.076753s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a341bc67-cc01-431a-a644-bb97049e66cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_186_volume_targets_get_observer [0.071539s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48ea2825-a7e1-4cce-b218-915e624534da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.215396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_449_service_cannot_get_bios_setttings [0.283252s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa0626c7-406d-4f60-8aa7-0a3c52024695 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_187_volume_targets_post_admin [0.080593s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03a30d8c-744b-4bac-8e06-3fcf95c79e28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_188_volume_targets_post_member [0.076518s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1369cbdf-a67b-41d9-a9ca-28ec04a3d644 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_189_volume_targets_post_observer [0.075948s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d325a0a-752d-4180-96be-a890d2aa1996 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_450_owner_reader_cannot_get_conductors [0.240377s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77f525c5-32b7-483e-aaed-ea397b91fed7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_190_volume_volume_target_id_get_admin [0.087962s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d95cf75-7b5e-4c62-9b36-f27482cc5c65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_451_lessee_reader_cannot_get_conductors [0.108957s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb1eb2e0-c640-4e52-97b9-e0db2aedd446 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_191_volume_volume_target_id_get_member [0.102438s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acdc1582-277e-46d4-ab62-cca74b139049 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_192_volume_volume_target_id_get_observer [0.147964s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0049d8f-ec55-4511-9ba8-53b5fffd6f89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.590728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_452_third_party_admin_cannot_get_conductors [0.211052s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95968263-0c3d-46f8-ac2b-ce9ed0eab083 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_193_volume_volume_target_id_patch_admin [0.181271s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdf27ee4-88d3-45be-85a5-d23dc30f60a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_453_owner_reader_can_get_allocations [0.179293s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34f25604-15e6-4412-8be1-11ca83c8018a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "593ff08c-cdc5-47ca-a1e3-e8386c3b7d3f", "created_at": "2024-03-19T00:22:34.594265+00:00", "updated_at": "2024-03-19T00:22:34.596001+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/593ff08c-cdc5-47ca-a1e3-e8386c3b7d3f", "rel": "self"}, {"href": "http://localhost/allocations/593ff08c-cdc5-47ca-a1e3-e8386c3b7d3f", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_454_lessee_reader_can_get_allocations [0.162410s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da98fed8-f12f-40e9-9a6b-6a52a524ab4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "efcc13d9-fa68-4b25-a8b3-6bba0ed5e489", "created_at": "2024-03-19T00:22:34.742722+00:00", "updated_at": "2024-03-19T00:22:34.752014+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/efcc13d9-fa68-4b25-a8b3-6bba0ed5e489", "rel": "self"}, {"href": "http://localhost/allocations/efcc13d9-fa68-4b25-a8b3-6bba0ed5e489", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.412476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_194_volume_volume_target_id_patch_member [0.300591s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0cf0db36-8d4e-4dfa-aacd-fe2f1b27168f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [1.587701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_455_owner_reader_can_get_their_allocation [0.221555s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/e488f7de-9cbe-45da-857f-d6ccb2ad7195 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b30b03e3-006d-47c7-9a83-7a4a3cf299aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e488f7de-9cbe-45da-857f-d6ccb2ad7195", "created_at": "2024-03-19T00:22:34.920337+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/e488f7de-9cbe-45da-857f-d6ccb2ad7195", "rel": "self"}, {"href": "http://localhost/allocations/e488f7de-9cbe-45da-857f-d6ccb2ad7195", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.070821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_456_lessee_reader_can_get_their_allocation [0.112906s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/192eaf09-feef-40df-8880-b9013886bbaf WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45f8e9e3-84b5-4c66-bb36-12f7fdb11d36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "192eaf09-feef-40df-8880-b9013886bbaf", "created_at": "2024-03-19T00:22:35.093241+00:00", "updated_at": "2024-03-19T00:22:35.094704+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/192eaf09-feef-40df-8880-b9013886bbaf", "rel": "self"}, {"href": "http://localhost/allocations/192eaf09-feef-40df-8880-b9013886bbaf", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.100172s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.030770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.407585s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.031168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_195_volume_volume_target_id_patch_observer [0.391780s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-deb6bb9b-1e8f-4344-9e00-92d218d47053 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.041735s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_457_owner_admin_can_delete_their_allocation [0.124218s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/617867f5-d90f-4bae-8027-da9d0cb3d980 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49732cc8-a442-4ad3-aeea-cdba24fb6665 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.040280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_service [0.045835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.041367s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.057662s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.057876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.038757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.366826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_458_owner_manager_can_delete_their_allocation [0.330581s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/2eba267e-fd78-41ad-92a7-50d86d72ce0a GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df364f1c-03ec-4967-91c1-e0903d2fd723 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.089940s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.077515s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_196_volume_volume_target_id_delete_admin [0.510483s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-baa777a9-17f3-4144-8cff-667d7fca8706 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.069702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.256325s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.082257s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.036822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.032829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.112123s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.084655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.328576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_459_lessee_admin_can_delete_their_allocation [0.568154s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/f4cee181-9ed7-4dcf-b6d1-f19aabf8aab2 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87332d7b-4815-4a93-8aae-edabb91d9f04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.071636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_197_volume_volume_target_id_delete_member [0.467542s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf21a267-3a4d-421f-9d26-d250bad1bf11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.132577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_460_lessee_manager_can_delete_their_allocation [0.229044s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/882b8854-dafc-40a3-afd4-3f5efc174781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47250472-c2d0-4e51-a95c-b1eff7d2b9ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.131902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.371975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_198_volume_volume_target_id_delete_observer [0.312981s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f240db4-97c2-4b30-96d0-4c6882447e71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.071782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.089670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_199_nodes_volume_get_admin [0.216317s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13fc63db-dfc2-4ac2-ab44-ab6d7736698f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.143948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_200_nodes_volume_get_member [0.068657s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7cb5577-6718-4a01-b25c-6f71cb3dd5f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.050953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_461_owner_member_can_delete_their_allocation [0.445484s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/a88acf93-0691-4e4a-be33-968aa88eb51a GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b2eb504-9923-4f1d-951b-d7db51591a5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.046739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_201_nodes_volume_get_observer [0.070825s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9668d332-9d83-41ca-988d-d943ed76066d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.037693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_202_nodes_volume_connectors_get_admin [0.085803s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83863e6e-c85f-4301-8b69-915bf77d4fec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.066887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.048937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_203_nodes_volume_connectors_get_member [0.074053s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71738f8e-8f9f-41ee-b9a7-e8934f6cc674 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_204_nodes_volume_connectors_get_observer [0.084957s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc4fd206-3964-400a-ad25-b59287d3aad0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.136775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_205_nodes_volume_targets_get_admin [0.106356s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00cfca6d-cff1-4f54-a888-a072b23e946e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.814787s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.184696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_206_nodes_volume_targets_get_member [0.146243s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-367dec32-e08b-4e15-9516-035759489b18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.042935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_462_lessee_member_can_delete_their_allocation [0.580887s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/381bc67a-3963-4ec8-9a88-5a736bb7df61 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fbb6e36-e0fb-4c29-a240-e9fa578ce3e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call [0.115524s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_207_nodes_volume_targets_get_observer [0.200392s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d798b89-c6a1-4964-a16c-9a0b9c77c873 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_rpcapi.RPCAPITestCase.test_local_call_expected_exception [0.110418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_208_drivers_get_admin [0.221482s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2794015-adef-43aa-8abb-3ef282373e64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch [0.227110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.636689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_209_drivers_get_member [0.196767s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80214130-4d14-4779-8933-6433ee59c6ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch_with_rpc_disabled [0.232607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_463_owner_member_can_patch_allocation [0.653101s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/220799b8-ac04-4451-ab3c-2b167c57e3bf WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-310b578b-187b-42ae-968e-867cfc7860d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "220799b8-ac04-4451-ab3c-2b167c57e3bf", "created_at": "2024-03-19T00:22:37.732471+00:00", "updated_at": "2024-03-19T00:22:38.086601+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/220799b8-ac04-4451-ab3c-2b167c57e3bf", "rel": "self"}, {"href": "http://localhost/allocations/220799b8-ac04-4451-ab3c-2b167c57e3bf", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_210_drivers_get_observer [0.198747s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d495353-afa3-4b94-a02c-af1613231aed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_no_conductor_with_rpc_disabled [0.171227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_with_rpc_disabled [0.202650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_211_drivers_driver_name_get_admin [0.342349s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1500af05-aae2-470e-893d-b2ca52817815 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast [0.110305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_464_lessee_member_can_patch_allocation [0.562834s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/9af29578-fbbd-4301-9122-ad11c24228d7 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fdc52de-8409-48d1-a580-09a2bd7dc161 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9af29578-fbbd-4301-9122-ad11c24228d7", "created_at": "2024-03-19T00:22:38.576967+00:00", "updated_at": "2024-03-19T00:22:38.702930+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/9af29578-fbbd-4301-9122-ad11c24228d7", "rel": "self"}, {"href": "http://localhost/allocations/9af29578-fbbd-4301-9122-ad11c24228d7", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_212_drivers_driver_name_get_member [0.157447s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-263a9d9d-8d1f-4b0b-b514-ec0aaa9791bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast_error [0.151737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.860861s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.155914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.127810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_213_drivers_driver_name_get_observer [0.301888s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9759639b-cfd0-47c8-96da-ae2c915197a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_465_third_party_admin_can_get_allocations [0.402456s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-867a742e-16e1-464d-a6b9-5505d66098ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": []} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.133447s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_handles_hold_from_active [0.359470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_214_drivers_properties_get_admin [0.182808s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0da2f0bb-a453-47c9-a2d9-932dc5eb92a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.109865s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_215_drivers_properties_get_member [0.144981s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd3acf4c-b958-418c-bcd2-3f165e3a8ce5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.175149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_handles_hold_from_wait [0.289052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_216_drivers_properties_get_observer [0.219304s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7a63118-65d9-49af-baf4-ee5efb6c804d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.179208s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.109309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.273712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.085022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_217_drivers_raid_logical_disk_properties_get_admin [0.305396s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2db8529-ba0b-4730-9e58-50aab811cc6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_rpc_disabled [0.083707s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.080621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.271129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.073898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_218_drivers_raid_logical_disk_properties_get_member [0.245030s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2046b418-831f-492e-a76a-8e5543270bf9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.149862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.194553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_466_third_party_admin_can_create_allocation [1.186627s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e87fd2e-9c3d-4533-bb25-628081a3ea57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_219_drivers_raid_logical_disk_properties_get_observer [0.218071s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48eef8c6-aea1-4f38-a553-59e89e539437 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.205726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.151791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.084226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.114395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_220_drivers_vendor_passthru_methods_get_admin [0.285216s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3262d6cd-1e62-42f9-b6a2-272c05b6aecf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_467_third_party_admin_cannot_create_allocation_with_owner_node [0.396277s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-924d6cde-672e-40b9-9bcb-fb7c43d5bb77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.081868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.412093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.151313s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.100906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_221_drivers_vendor_passthru_methods_get_member [0.349627s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12d4534d-b4e7-4484-8112-2292566d2864 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_468_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.326958s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST', 'candidate_nodes': ['1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f']} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43acd09c-c849-41bb-b87a-bf39209b97e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881, 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.126402s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.059592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.086789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_469_owner_admin_can_create_allocation_with_their_uuid [0.270543s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39b5d89f-fe18-491f-91c5-69acd9e2f4f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.460899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.090811s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.041000s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.133261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_470_owner_manager_can_create_allocation_with_their_uuid [0.299402s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c04a4b6c-2c2a-480d-aa95-d28d1f51154a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_471_third_party_admin_cannot_read_an_allocation [0.119038s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/70c0560e-e8a1-4f4f-a87c-fda8a567e8e9 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-444d4ac5-a267-4627-9749-2b38e51c6992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 70c0560e-e8a1-4f4f-a87c-fda8a567e8e9 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_222_drivers_vendor_passthru_methods_get_observer [0.700714s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43da5a5b-4ad0-48f0-af55-195d2162c600 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test__do_node_cleanhold_abort_tear_down_fail [0.201126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_472_third_party_admin_cannot_patch_an_allocation [0.081014s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/6636d07b-0849-4afd-b374-1252204b3d8b WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-278fdbcf-5a33-4636-a12d-626e1332a318 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6636d07b-0849-4afd-b374-1252204b3d8b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_223_drivers_vendor_passthru_get_admin [0.150002s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92a65650-0ae1-4f50-92aa-34d451cd9b7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_473_third_party_admin_cannot_delete_an_allocation [0.086818s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/2a765b98-bb0a-4061-a740-fa8489faf26d GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f5a63a0-1521-49e9-8f01-d3422dba82bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 2a765b98-bb0a-4061-a740-fa8489faf26d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.604447s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_224_drivers_vendor_passthru_get_member [0.106428s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96b0b03a-697b-4ffe-90e5-01aaac26fc55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_474_owner_reader_can_read_node_allocation [0.117717s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3cefaa1-53b2-434f-ac82-c7cef1786063 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c72a1f7b-1c2a-4556-94c8-31fd4cfbcb29", "created_at": "2024-03-19T00:22:41.936006+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/c72a1f7b-1c2a-4556-94c8-31fd4cfbcb29", "rel": "self"}, {"href": "http://localhost/allocations/c72a1f7b-1c2a-4556-94c8-31fd4cfbcb29", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_225_drivers_vendor_passthru_get_observer [0.070830s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70a1c704-c1eb-45e4-b84d-b805a0d27c32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test__do_node_service_abort_tear_down_fail [0.340228s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_475_lessee_reader_can_read_node_allocation [0.087202s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7943f3ae-cf55-4a64-a04a-695feb559796 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ce6f8f97-814e-4937-af56-983c33db0342", "created_at": "2024-03-19T00:22:42.060871+00:00", "updated_at": "2024-03-19T00:22:42.062356+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ce6f8f97-814e-4937-af56-983c33db0342", "rel": "self"}, {"href": "http://localhost/allocations/ce6f8f97-814e-4937-af56-983c33db0342", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_226_drivers_vendor_passthru_post_admin [0.073551s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e897abeb-61f7-4c5d-ba10-96fd72f4449c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_476_third_party_admin_cannot_read_node_allocation [0.124045s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09f24401-7e50-4770-a299-a4ceb1053c69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_227_drivers_vendor_passthru_post_member [0.132584s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3dc24c3b-8b97-4124-8333-894f363fff27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_228_drivers_vendor_passthru_post_observer [0.083861s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9177d9f-a15b-4b4e-91d8-06a4e2d85a42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test_do_node_service_abort_early [0.261301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_477_owner_admin_can_delete_allocation [0.138363s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-847e3085-5f5c-4fda-a7d1-a6f700e9cd34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_478_owner_manager_can_delete_allocation [0.099654s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99bf7e41-41ee-4c1d-abac-d212cb2d1d12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_229_drivers_vendor_passthru_put_admin [0.148641s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a6f171d-3934-41c6-93ee-10965a460ed1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_479_lessee_admin_can_delete_allocation [0.098350s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78b55fe2-0382-40cb-b4b2-22dddcf167e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScoped.test_scoped_canary_230_drivers_vendor_passthru_put_member [0.075599s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d68376f4-053b-4036-9809-87b569b098d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.739309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_231_drivers_vendor_passthru_put_observer [0.074870s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0452e6f1-0037-4fac-8204-4deb57b65ffb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_480_lessee_manager_not_delete_allocation [0.094595s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-260519d9-8e06-4ea8-8c0f-3fd3719ab833 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test_do_node_service_abort_with_step [0.352027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_481_third_party_admin_cannot_delete_allocation [0.083625s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02951384-f01e-451c-8d8a-8bf5c527307d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_482_owner_reader_cannot_get_deploy_templates [0.103806s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b77de8ec-b2a1-4989-af62-4957c3756416 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_234_nodes_bios_get_admin [0.089234s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86ac1684-06a4-45c1-b944-7fed6c3236c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_483_lessee_reader_cannot_get_deploy_templates [0.076109s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a856aa26-ef88-4a4f-bfa5-ff23f9026707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_235_nodes_bios_get_member [0.095472s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49a80425-3fb0-493b-be6a-83c5086a792f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_484_third_party_admin_cannot_get_deploy_templates [0.086036s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f0afadc-848a-4341-9653-27c43ae8d9f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.319018s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_236_nodes_bios_get_observer [0.094355s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78ac0e3c-6a14-41bf-8cc2-a9ffb96186c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_485_third_party_admin_cannot_post_deploy_template [0.100882s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84661e0b-2e5b-496c-80e8-3ea603cc9267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_486_service_cannot_get_deploy_templates [0.067962s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06ceef4c-8587-451b-81b8-07bc56f6ace5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_237_nodes_bios_bios_setting_get_admin [0.097043s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62674def-0c56-4a15-a727-3e7c30a1ea84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.609967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_238_nodes_bios_bios_setting_get_member [0.072204s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-413fb8e0-1a17-4bc8-9786-a2f0d006f4e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_487_service_cannot_post_deploy_template [0.102311s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4be498b0-1f4e-4c0b-ac83-0e4a0dfab70b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.256750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_239_nodes_bios_bios_setting_get_observer [0.114736s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ff2b89e-e7e4-4e2f-a7e3-310ee8b03bcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_488_owner_reader_cannot_access_chassis [0.116568s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbee4e1b-380b-4855-9327-e26731df4856 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_489_lessee_reader_cannot_access_chassis [0.074348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9773a6a6-1023-48a5-90e2-72ee2344a65c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.215459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_240_conductors_get_admin [0.170460s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-132860f7-9e01-4450-b3e1-2013105d69e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_490_third_party_admin_cannot_access_chassis [0.117578s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a62a54f9-8820-4679-a970-2054584dd028 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_241_conductors_get_member [0.086880s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eca2ed0a-f2a0-4833-8788-4d6a9143df4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.405965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_242_conductors_get_observer [0.078642s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-493b85ad-618b-4e1a-8e26-019129f26492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_491_third_party_admin_cannot_create_chassis [0.169362s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b01f604-e041-4f57-b3a5-0f4894272c9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_243_conductors_hostname_get_admin [0.148170s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-edd39618-d599-4b97-b62c-5ecbe96f0022 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.399155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_492_service_cannot_access_chassis [0.164062s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a702a4e7-eb06-48ed-8845-cc60b737b49d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_244_conductors_hostname_get_member [0.097594s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f262df67-9064-4672-9e96-3a34c4b87cd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_245_conductors_hostname_get_observer [0.170513s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-008281d2-3522-4030-8bf5-73f32bb7f95a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_493_service_cannot_create_chassis [0.236795s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67e76cd2-b915-4ab4-aaa4-3cf4f9b91d54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_246_allocations_post_admin [0.086938s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a24a9bd-8f74-4326-b6db-983488aa0e80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_248_allocations_post_observer [0.101548s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de222118-aadb-421a-b6bc-03b1168018be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_249_allocations_get_admin [0.078961s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c1fac07-5464-4c25-a794-12954692fbac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_494_node_history_get_admin [0.372869s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7f5b9f0-9c26-4009-a045-05a6300a01ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "d3312446-1f54-4454-ba68-cc5cba6c7597", "created_at": "2024-03-19T00:22:44.399172+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/d3312446-1f54-4454-ba68-cc5cba6c7597", "rel": "self"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_250_allocations_get_member [0.132613s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c21b74d3-e329-4d6a-b9c9-018b4a9e9cad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_251_allocations_get_observer [0.121242s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e094658-ac94-4f40-bb0b-b693f389f034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.883635s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.065162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_252_allocations_allocation_id_get_admin [0.179420s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/9d3e52f1-a246-46b8-b7f7-058566a996e5 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f6ec042-2c9b-4cf2-be08-b9c8e47dc47f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9d3e52f1-a246-46b8-b7f7-058566a996e5 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_495_node_history_get_member [0.400296s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4963f244-5790-4137-84e5-2a88ce7dd490 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "b1f03fcf-79ae-4ff6-b842-21b6ad707628", "created_at": "2024-03-19T00:22:44.816877+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/b1f03fcf-79ae-4ff6-b842-21b6ad707628", "rel": "self"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.140813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_253_allocations_allocation_id_get_member [0.125648s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/08cac74f-c8cb-4842-b333-8b69ecc88220 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34831157-0c19-41a4-b00d-9d47c8650059 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 08cac74f-c8cb-4842-b333-8b69ecc88220 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.100240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_496_node_history_get_reader [0.231170s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a1b5510-2a83-4fd4-8162-7e3c5234d6ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "ee86a24c-863b-4dfd-acc9-b67fa4f42131", "created_at": "2024-03-19T00:22:45.099489+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/ee86a24c-863b-4dfd-acc9-b67fa4f42131", "rel": "self"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [1.526113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.092786s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_254_allocations_allocation_id_get_observer [0.179691s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/3c684489-d3fb-4dc7-8e75-322665f98ac0 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b92c1ae-f9a5-4821-9933-5d03a0630a15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3c684489-d3fb-4dc7-8e75-322665f98ac0 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.093892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_497_node_history_get_service [0.113006s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98ad05de-abfd-4e11-8012-a81804d89257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "d806f490-a53e-473e-89ae-30d626675a31", "created_at": "2024-03-19T00:22:45.250793+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/d806f490-a53e-473e-89ae-30d626675a31", "rel": "self"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_255_allocations_allocation_id_patch_admin [0.170088s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/f527af97-7215-4a7b-ad2d-c368e3219c82 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f56ded09-6848-4cb7-a585-fbb0bbed0483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f527af97-7215-4a7b-ad2d-c368e3219c82 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.120499s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.130731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_498_node_history_get_service_cannot_be_retrieved [0.276314s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69e0df73-f2c9-4007-aae1-b3b40dda1350 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_256_allocations_allocation_id_patch_member [0.187414s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/d0b046ca-865b-4d45-b36d-d3323ba37c2c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-955cb095-353a-48b8-b982-ece2c925a348 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d0b046ca-865b-4d45-b36d-d3323ba37c2c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.121219s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.506488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_499_node_history_get_entry_admin [0.133649s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/84262041-282c-4f6f-bfdf-50212aed5e2e WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4407c5ef-4b25-4f45-803c-cbdb10444769 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.104021s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.086331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_257_allocations_allocation_id_patch_observer [0.253625s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/77dd368d-f4c6-4b44-8632-110cc9f52a30 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-419aff75-7158-498c-a53b-c4dc83daaf3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 77dd368d-f4c6-4b44-8632-110cc9f52a30 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.053919s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_500_node_history_get_entry_member [0.217764s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/71498b7a-4423-4f0d-8a0f-77d0066a5abc WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c426e79-a709-471c-908f-c7ba63d205f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "71498b7a-4423-4f0d-8a0f-77d0066a5abc", "created_at": "2024-03-19T00:22:45.801028+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/71498b7a-4423-4f0d-8a0f-77d0066a5abc", "rel": "self"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.131781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_258_allocations_allocation_id_delete_admin [0.238499s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/8ab43271-aebf-4531-8a5d-571b5d2c60c8 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ae9f53f-090f-4717-9fdf-cd4b9ef18e00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 8ab43271-aebf-4531-8a5d-571b5d2c60c8 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_501_node_history_get_entry_reader [0.178830s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/cf7ff14a-4267-4633-9417-96964b9fcac3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e1a41e8-6ba8-41f8-8c48-5f3fec31c84f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "cf7ff14a-4267-4633-9417-96964b9fcac3", "created_at": "2024-03-19T00:22:46.057578+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/cf7ff14a-4267-4633-9417-96964b9fcac3", "rel": "self"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.097971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.521396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.164897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.151299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_259_allocations_allocation_id_delete_member [0.340286s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/4d5d29ff-2d44-4fea-b3e3-01c2ab34ab31 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84cc6987-7882-42ec-84b2-448e90f68817 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4d5d29ff-2d44-4fea-b3e3-01c2ab34ab31 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.084805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_502_lessee_node_history_get_admin [0.388945s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf5a0038-4765-4f8d-8199-9dcf029057f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.094031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_503_lessee_node_history_get_member [0.129667s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0582b15-81a9-4cf3-8101-d57a75e0a4a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.047134s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.056193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_260_allocations_allocation_id_delete_observer [0.309248s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/deec0615-f0ca-4183-b938-bd4f91eb351e GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8334980-f22c-4f67-ace8-8111359ed33d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation deec0615-f0ca-4183-b938-bd4f91eb351e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.559608s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.058995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_504_lessee_node_history_get_reader [0.151001s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-952871c1-e9df-481e-a3cc-6e4bd2af8144 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.058294s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.028523s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.069834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_261_nodes_allocation_get_admin [0.234302s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07eeeb6d-b6b7-4a4d-b270-b59672ad6689 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.086733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_505_lessee_node_history_get_entry_admin [0.307846s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7b619240-f027-4aa6-aca3-4f068e2ed123 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f3dff30-eb40-4365-a115-1a88fd899340 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.124956s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.399386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.036500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.054031s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_262_nodes_allocation_get_member [0.301774s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-040e6428-24ec-4e12-ae28-c51a1a5795b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.061195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.048935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_506_lessee_history_get_entry_member [0.313635s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/666ba8a7-4c09-4253-8911-a8653199d362 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c6c6ab9-bdf7-41f3-aea3-4df14e23dde6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.155300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.393989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_263_nodes_allocation_get_observer [0.275730s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d59404d-a1ec-4989-b101-2ded5f5afc96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.163413s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.063783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_264_nodes_allocation_delete_admin [0.236565s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f80dd15f-6cbb-4602-b954-e2e9e98f0021 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_507_lessee_node_history_get_entry_reader [0.378392s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8d3012c5-2330-49e8-91c8-4ac2c9270e07 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a4bd032-47c2-4935-a562-b1ecc6649d9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.114467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.320865s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_265_nodes_allocation_delete_member [0.107479s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd284fa9-0a17-40ed-910a-739347b1ea08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.144079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_508_owner_service_node_history_get_entry_reader [0.432655s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/e02cf036-4b23-40d3-8e75-d53074f6a3da WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fda0b88f-1f19-45dd-ab38-f2f01a7c13e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e02cf036-4b23-40d3-8e75-d53074f6a3da", "created_at": "2024-03-19T00:22:48.125423+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/e02cf036-4b23-40d3-8e75-d53074f6a3da", "rel": "self"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.311826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_records_lessee [0.569730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.191780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_266_nodes_allocation_delete_observer [0.600354s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccffad54-40e3-4f42-a440-a1bec1ef59cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_exclude_current_conductor [0.117966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_509_third_party_admin_cannot_get_node_history [0.416533s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11ee83dd-66cf-4b91-ac4f-d9d0a973dcb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.108184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_510_node_history_get_entry_service [0.115436s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/d110ab02-1913-4a3d-95b7-cb0bf0a937e6 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec030cbc-0bb6-40d3-87c2-a02dc890be82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.118557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_267_deploy_templates_post_admin [0.386794s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22796400-26b2-4cc3-bcb4-748fa411df32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path [0.496285s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_511_node_inventory_get_admin [0.189702s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/inventory WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-210f65c8-d588-42db-ace4-23e801222828 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.179613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_268_deploy_templates_post_member [0.234132s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f730bff-e757-45a4-9c34-35ff403a03fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path_none [0.253372s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_512_node_inventory_get_member [0.228113s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/inventory WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c40b4ecd-7f1d-44fa-9e5c-1a7562f97beb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_269_deploy_templates_post_observer [0.139987s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a36fbcae-335c-4ca7-98f2-3058c797cd9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_ok [0.116936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_raises_error [0.054519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_270_deploy_templates_get_admin [0.111095s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dba5ce23-09a4-481d-8bf9-fb93cc8f12c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACProjectScoped.test_project_scoped_513_node_inventory_get_reader [0.236141s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/inventory WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-438ffb33-8a09-432a-869e-1b65cac4ec5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_271_deploy_templates_get_member [0.080450s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2efd6ca0-38be-4a5d-bbdc-f5e5e98c3797 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_return_inspect_wait [0.106932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_272_deploy_templates_get_observer [0.070631s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a43e72d-5440-4c3c-a364-5e9ae9d21fda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_return_inspecting [0.109321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.530782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_273_deploy_templates_deploy_template_id_get_admin [0.060838s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/1afe35fd-edfa-49d2-b4e8-3d94dd66f75f WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3293931a-e6d6-435b-abf7-8b32d903427e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_return_other_state [0.083231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_514_lessee_node_inventory_get_admin [0.219092s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-683c9bc6-aa61-4dd3-b7d9-a5e9de4ca204 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_274_deploy_templates_deploy_template_id_get_member [0.060672s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/b4f8c4f0-e1ef-45b6-a6d4-4a0f1d6ecc5b WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d470a73-1929-460d-9ae1-640189be8bdc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_unexpected_error [0.064694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_275_deploy_templates_deploy_template_id_get_observer [0.061504s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/1106ad49-02e5-45e5-a9ff-e0d8c99c8db7 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf3ad710-a039-4614-9a2e-25932169e215 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_276_deploy_templates_deploy_template_id_patch_admin [0.067809s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/f5e84c10-9416-4ea7-9c1f-dfdab9fb258d WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abb56413-d933-461c-818e-a2561852f147 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_277_deploy_templates_deploy_template_id_patch_member [0.069422s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/7ff1296d-7746-4d70-9824-2200ffcb6214 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-024bf9ef-4a7e-4ea0-aea9-ed4d943a738d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_515_lessee_node_inventory_get_member [0.197137s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a28372ba-b38e-4a30-8c44-258f19032d2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.150109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_278_deploy_templates_deploy_template_id_patch_observer [0.072086s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/3ecf3fd7-74d0-4b1b-b010-335a11b682d9 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-204ec8d7-304a-4480-99c4-e97741f13c29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_279_deploy_templates_deploy_template_id_delete_admin [0.066964s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/21e9fca4-e9bc-421c-aca2-02131a6181e1 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e27ea3cb-d0a2-4ea8-9a34-597bfed48cc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.147242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_280_deploy_templates_deploy_template_id_delete_member [0.066126s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/56253d89-f94b-422e-9e89-02c65d711340 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d76bfd42-fde8-43bb-bd3d-bb85491e3966 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_516_lessee_node_inventory_get_reader [0.207449s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e9d268f-c9d6-4222-8f2c-cdbf5d7e7a82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_281_deploy_templates_deploy_template_id_delete_observer [0.063300s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/cc2fca93-4b1f-4adc-a290-1add0268c2be GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06c9f684-9637-446d-96e2-48613a2300f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.574486s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_282_chassis_post_admin [0.067810s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-925f7cbd-079f-468a-9ecc-293d955984ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_517_shard_get_shards_disallowed [0.177144s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/shards WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0c6c125-cfd1-4d90-ae7c-835dde134d22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:shards:get\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.239898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_283_chassis_post_member [0.074905s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d4e795c-6d44-42cd-939c-fa84b5445c61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_284_chassis_post_observer [0.066200s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-545986a3-960d-4150-ae57-4e71f5a14375 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.237202s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.149679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_285_chassis_get_admin [0.082117s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63d7b1b4-88df-4337-86bc-d14075b1de45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.079974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_286_chassis_get_member [0.081834s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fe770ef-af65-409a-8f84-b8b67a758946 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.063469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.053843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_287_chassis_get_observer [0.106424s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a71cf051-66f1-45f4-ad53-e2938b157e97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.061015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_518_shard_patch_set_node_shard_disallowed [0.415049s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/shard', 'value': 'TestShard'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6791285-540d-4980-89c5-4999d6a9387a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:shard\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_288_chassis_detail_get_admin [0.083067s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8a13731-2c45-410f-a1b0-855f1ecca6ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.054190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history [0.048682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_289_chassis_detail_get_member [0.074442s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b955abe-f948-47b7-b6b4-42831c19ffb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.446815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_290_chassis_detail_get_observer [0.099686s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64dbda8c-8c2f-40de-acc2-ccff4f29545b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.133111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_291_chassis_chassis_id_get_admin [0.067733s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0add1576-d918-45af-8fd7-0f1399905be1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.167221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_519_parent_node_patch_by_admin [0.387919s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b42e12da-abeb-4787-af5d-b53247d500a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_noop [0.172419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_292_chassis_chassis_id_get_member [0.130733s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62caa88f-ea8a-44e8-a2da-a97031f6861f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_293_chassis_chassis_id_get_observer [0.112779s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2132dc92-61d3-4bc9-8692-1cfa41074434 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.136814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_520_parent_node_patch_by_member [0.187514s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c903e83-101e-4ef2-9f9a-0cf457f5cf5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.242179s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.058947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.057533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.045304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.264650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_294_chassis_chassis_id_patch_admin [0.368393s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8735241-e421-422a-b937-e72c6d22d710 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.239958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.122545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.327842s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_521_parent_node_patch_by_reader [0.609378s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fae4056-639a-49cf-a945-51d28b635613 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.151256s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.215606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_295_chassis_chassis_id_patch_member [0.550175s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b047b531-2496-4ba8-9093-e608aedf1310 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.270278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_522_parent_node_patch_by_manager [0.430104s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d79f995b-ba65-432b-873c-bf7882a5beeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.080882s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_296_chassis_chassis_id_patch_observer [0.240981s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83a8e5d8-f50a-4995-8879-b6104878ad1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.064380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.084217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_297_chassis_chassis_id_delete_admin [0.120078s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4499cc38-4381-4c44-a910-9af66891f1d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.484765s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.081797s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_523_parent_node_patch_by_cannot_see_node [0.305560s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': 'f11853c7-fa9c-4db3-a477-c9d8e0dbbf13'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84f79742-2da6-4de8-b07a-ac8a3f3744b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unable to apply the requested parent_node. Requested value was invalid.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.073944s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_298_chassis_chassis_id_delete_member [0.196693s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d50327bf-8d20-4aeb-8c57-943f567532b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.105241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.076876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_299_chassis_chassis_id_delete_observer [0.178766s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-955ff0c5-bf69-469c-9fd2-30b32c9f7060 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.550988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_300_node_history_get_admin [0.207952s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4784104c-e4b9-43a5-aba0-a7aa8d85bcbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_524_parent_node_children_can_get_list_of_children [0.491778s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/children WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c694c004-25f3-4e1c-9ea7-05741282b267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"children": ["3c3b8adb-edd7-3ed0-8e82-aab714d8411a"], "links": {"href": "http://localhost/v1/nodes?parent_node=1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "children"}} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.430159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_525_lessee_cannot_get_a_nodes_children [0.136424s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/children WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc1fc51c-ad71-48f5-8f26-2fdc61f18490 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_526_owner_reader_can_get_firmware_components [0.101439s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/firmware WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa39495e-a5b1-4479-b347-e65542830af9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"firmware": []} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_301_node_history_get_member [0.352914s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f7ec83e-7d0d-4a9e-a686-fd190ff67df7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_527_lessee_reader_can_get_firmware_components [0.180083s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/firmware WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86fedffa-b36c-43e1-bf5d-db07a6263004 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"firmware": []} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.475652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.228625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_302_node_history_get_observer [0.206708s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b4fb7f6-7eb5-4b14-b567-016ee4a85aaf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_528_third_party_admin_cannot_get_firmware_components [0.127144s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/firmware WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cefb4e98-8ab6-435b-b7d1-2c34c55ae4cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_529_service_can_get_firmware_components_owner_project [0.159275s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/firmware WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70c4bb4c-9e86-4434-a427-7a33503ae40e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"firmware": []} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.250278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_303_node_history_get_entry_admin [0.246679s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/655cb9e6-e74b-4727-91b3-e4de475d4797 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a0758b6-0d1e-4bda-95eb-4649ce36992e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.448215s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_530_service_cannot_get_firmware_components [0.206642s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/firmware WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bcfc40e-368f-426c-b993-76714403d0a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.027651s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad7427fd-1839-4145-9fcc-3e5ac63be7cc DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} 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.252610s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.029857s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29139ca2-6464-4b33-8697-ba98c70c63e6 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.026428s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4a8c423-be7a-494b-a1d6-cc403123bcaf DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_304_node_history_get_entry_member [0.239342s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/050d3d06-1502-44e6-abdd-1446e4d953e3 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb98b352-6baa-4d3a-a912-5e1496e6625d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.032165s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e37bcab8-57b7-4d8d-99a5-270c386971f6 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: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.081704s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7224fc8-baa8-4843-8b90-407df00a0444 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.190525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.083002s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa4ac886-eb12-42ed-9e6c-fc672226c000 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.383472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.102189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.172272s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c91d557-5e88-416b-abfe-202194b847bb 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-24.0.1.dev106/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-24.0.1.dev106/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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_305_node_history_get_entry_observer [0.407049s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7f9a3aff-88ea-4eba-892f-1feb6f72bb2b WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-781508f6-476f-4bd0-a141-5db634ffd199 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.175777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.134053s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed5ec91b-80be-41a0-bfc8-134fac771e92 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"debuginfo\":null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.082827s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c08c08ca-e987-4a55-bf84-bbeb602452e8 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.363960s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.206660s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.112393s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65adfa8d-a6db-44b8-986f-e3f0ed3305d4 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_002_nodes_post_admin [0.250048s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71b5c28f-7bd3-485f-8e0d-bc6b2159fde5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.125571s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.138387s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1a40670-c66f-477a-9487-ca2ed9d02ddd 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-24.0.1.dev106/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-24.0.1.dev106/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: {2} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.062345s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/things/ouch WITH {} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-058eceea-1956-4b53-9bfb-578c810c1e32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.345908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.088463s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/things WITH {'name': 'foo', 'flag': True} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3af0f858-24d8-46d7-b273-d1362e4f1c29 DEBUG util.py:445: {"foo": true} DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.103994s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/things WITH {'name': 'foo', 'flag': 'truish'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87e13ead-638b-4e8d-ac8c-d714db0c9e00 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: {2} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.078896s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/things/ WITH {'three': 'three', 'four': 'four', 'five': 'five'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df5c59ff-4ba6-400f-a79f-1e8e9004b005 DEBUG util.py:445: {"three": "three", "four": "four", "five": "five"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.240386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.162246s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/things/ WITH {'three': 'three', 'four': 'fourrrr', 'five': 'five'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57ae300a-fe8f-4a04-802e-e8fd677e9e01 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.037402s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/things/no_content WITH {} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e3dc848f-cfc1-4e3d-be0d-a11b4baa572a DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.756289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.343423s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_003_nodes_post_member [0.887740s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dda73b3-84b1-4dfb-a8e3-751c4042b88f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_004_nodes_post_reader [0.144980s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13e21e0b-3c76-4bcd-b2fe-e3395ba0334a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.283224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.412296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_005_nodes_post_service [0.195972s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a780f65e-23b2-4e4e-926b-891a9cc64a5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.193711s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.184058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.149579s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.769708s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/things/response_content WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67e4cb96-0b7d-49e6-83b4-fa4f1e1fcd14 DEBUG util.py:445: "nothing" DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.060045s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/things/response_custom_status WITH {} GOT Response: 202 Accepted DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-113642b3-fcbf-49a1-a30b-a256150d39e3 DEBUG util.py:445: "accepted" DEBUG util.py:445: {2} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.039192s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0fe0e92-25d8-4614-8339-6bc0b3609abc DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://spam.ham/eggs/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.90"}, "versions": [{"id": "v1", "links": [{"href": "http://spam.ham/eggs/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.90"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.034266s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET / WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7936789-cad3-4302-b851-e34a09f27ea1 DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "https://mycloud.com/ironic/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.90"}, "versions": [{"id": "v1", "links": [{"href": "https://mycloud.com/ironic/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.90"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.245368s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_006_nodes_get_node_admin [0.462319s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a052fa91-4628-4ab3-9eee-67005af27281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:56.235186+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.159848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.029966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.029814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.041502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.029440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.055474s] ... 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.324481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.070545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.080649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_get_destroyed_after_destroying_a_node_by_uuid [0.665420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.101524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.038197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.038752s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_007_nodes_get_node_member [0.477042s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8196feae-a1e4-44d9-b020-34182848bad9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:56.778349+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.135868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.145656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.036527s] ... 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.119779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.060460s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.109470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.069925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.078786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.105850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.064439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_008_nodes_get_node_reader [0.459775s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12d6f31a-d9c7-4dce-a67e-b206ba574571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:57.249638+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.035267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.118750s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_not_destroyed_SwiftOSE_maintenance [0.667359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.105422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.169409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_009_nodes_get_node_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.069122s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_010_nodes_get_admin [0.096768s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b41a608-540c-4e31-ae99-a9d916e0f599 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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": "bb3bd43e-9d7e-46b9-b62c-69852d753075", "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: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.159435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_011_nodes_get_service [0.082129s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34110e01-1aed-423b-abdc-8f06b14baff5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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": "9bef820e-7921-477b-ae2d-5f791094beae", "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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.163469s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_012_nodes_get_service_project [0.102399s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60b3c9b0-60c1-4b54-be6b-9eeff18f01a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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": "223c6bcb-3956-4a42-b344-87aa75cc5184", "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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.086075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_not_destroyed_SwiftOSE_not_maintenance [0.433428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.248763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_013_nodes_get_service_project_disabled [0.091795s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0fdeb99-1e62-4469-861a-ab51f5dcfe46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.086775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_014_nodes_get_service_project_admin [0.096171s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33e29d20-c9f8-4aad-8d04-dac92a95cae1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.127939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_015_nodes_get_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.252665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.099906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_016_nodes_detail_get_admin [0.134110s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fed26528-093b-4143-883a-4d40a1aa635b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:58.271904+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-03-19T00:22:58.273270+00:00", "updated_at": "2024-03-19T00:22:58.276702+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "8a7c9f2c-8217-435d-9cd1-4fbd22d655fe", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x DEBUG util.py:445: 86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "8a7c9f2c-8217-435d-9cd1-4fbd22d655fe", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-03-19T00:22:58.300327+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/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 DEBUG util.py:445: /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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.082992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.061834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_017_nodes_detail_get_member [0.161115s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1efc7d9c-f5a1-49e9-b7f8-59ebcc5027a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:58.423483+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-03-19T00:22:58.427207+00:00", "updated_at": "2024-03-19T00:22:58.430826+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "388bb8ae-43a0-4828-b54b-070afdc4cd29", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x DEBUG util.py:445: 86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "388bb8ae-43a0-4828-b54b-070afdc4cd29", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-03-19T00:22:58.451749+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/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 DEBUG util.py:445: /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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.066168s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.238298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.067044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_018_nodes_detail_get_reader [0.127702s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2749c0ee-ebd0-4478-8bec-51d14626056f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:58.599256+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-03-19T00:22:58.600750+00:00", "updated_at": "2024-03-19T00:22:58.604473+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "392af358-c7ee-4d2e-a7bd-267d641e904d", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x DEBUG util.py:445: 86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "392af358-c7ee-4d2e-a7bd-267d641e904d", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-03-19T00:22:58.634566+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/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 DEBUG util.py:445: /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: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.624541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.065950s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_019_nodes_detail_get_service [0.088810s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5cbe8d2-3624-4b91-a7ff-3c5e3bb709b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:58.693114+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-03-19T00:22:58.700291+00:00", "updated_at": "2024-03-19T00:22:58.704252+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "bb6d46c6-9035-4d88-b174-01cb261e51e5", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x DEBUG util.py:445: 86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "bb6d46c6-9035-4d88-b174-01cb261e51e5", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-03-19T00:22:58.724744+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/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 DEBUG util.py:445: /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.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.091688s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_020_nodes_node_ident_get_admin [0.106650s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d60dd197-34d5-4216-a432-8a7d88f9a35e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:58.797583+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.079715s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.076617s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_021_nodes_node_ident_get_member [0.087531s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52b0a91a-4212-4c7c-9549-08751951eaeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:58.893733+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.079969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_022_nodes_node_ident_get_reader [0.097909s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-741cd558-ac9e-4581-8e27-278401989160 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-19T00:22:58.995193+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.085947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.463414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.161175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_cleanhold_automated_clean [0.258546s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_023_nodes_node_ident_patch_admin [0.420318s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e39af6bc-9621-4016-be18-f473538315b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.151078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_cleanhold_manual_clean [0.124934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.081655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.354575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_from_deployhold [0.118442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.162621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.263399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.157418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_024_system_admin_can_patch_chassis [0.448563s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51cda887-597d-46b4-9f12-c023beb2703e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.102109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.153057s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.176724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.195098s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.125522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_025_system_member_can_patch_conductor_group [0.389330s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/conductor_group', 'value': 'DC04-ROW39'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb63f1f5-6ab9-440a-b7ad-131a7e6263e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.131974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.231996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.100844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.984459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.103342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.161425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.216752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.211950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.222135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.089650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.089821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.113902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_026_nodes_node_ident_patch_member [0.711427s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba744bef-6475-4846-884c-96183bf4c149 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.092279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.136907s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.190633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.111402s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.073026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.144846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.173520s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.056266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.058690s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.102337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.072763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.064324s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_027_nodes_node_ident_patch_service [0.418716s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f136cb4a-17c0-4c86-8ccf-bad4c0c164fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.057472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors_with_sqlite [0.178639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.042013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.044017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.027694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors_with_sqlite [0.041260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.026317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.048401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.194180s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.075933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.084313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.173599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.049033s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.035390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_028_nodes_node_ident_patch_service_project [0.428127s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-783cb15c-3af1-43f9-a308-a49a95218d63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.033353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.029743s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_offline [0.030884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.153750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.040107s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_029_nodes_node_ident_patch_reader [0.219564s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ece0af5-dde2-462e-aa29-f434763bf862 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.123848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.188174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.052512s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.041845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.029760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.039236s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_create_firmware_component [0.114530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.029029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.029786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.030916s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_create_firmware_component_duplicate [0.073331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_030_nodes_node_ident_delete_admin [0.282642s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f11f8be-f301-4569-8246-2321ff626131 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_delete_firmware_component_list [0.048631s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component [0.036134s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_list [0.035400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_031_nodes_node_ident_delete_service [0.114122s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69e2216f-8736-4500-a9ee-924a15dc3c26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_list_node_not_exist [0.034911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.182676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_node_not_exist [0.039142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_032_nodes_node_ident_delete_member [0.104539s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c286387-d7e3-435b-9f4f-a4cbe0beb844 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_setting_not_exist [0.037993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_update_firmware_component_not_exist [0.034740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_update_firmware_components [0.041863s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.034011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_033_nodes_node_ident_delete_reader [0.116840s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccfda959-51f9-43f2-9e79-9a9c8d2f1a11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.033102s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_get_node_with_token [0.219983s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.037032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.038796s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.031115s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.067184s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_034_nodes_validate_get_admin [0.229076s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c865fc0-5ce8-4284-bec6-57759bc42220 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.175579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.076278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.052427s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.029092s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.026520s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.028078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.031093s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_035_nodes_validate_get_member [0.228273s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41561132-6344-4d37-bb63-367fbf98c64b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.026622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.027863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [1.700856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.357857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_node_with_token_already_locked [0.136155s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_036_nodes_validate_get_service [0.315538s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-372b6334-0887-4ce0-95aa-30c7abb891d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.282714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.029433s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.042066s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.044470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_node_with_token_already_set [0.189529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.033858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.034334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.050278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.051462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_037_nodes_validate_get_service_project [0.306830s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b237bd74-b7a3-4248-9328-fa4c73917b88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.552807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.097215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.243699s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.104197s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.048809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.050111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.248553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.075274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.046069s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.043647s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.029265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.174371s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.056060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.132980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_038_nodes_validate_get_reader [0.707673s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5b4223a-589e-4e3a-87ba-e7691b89ec9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.108460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.152977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.123090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_039_nodes_maintenance_put_admin [0.132909s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07936dcc-aff0-4143-9de2-3a627dacceb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.244548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_040_nodes_maintenance_put_member [0.134742s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbb026f2-d745-4336-ba7d-78e0fed829fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_041_nodes_maintenance_put_reader [0.077335s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9717ef3-ceb8-4a36-8e55-bcc65067f3cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.213645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_042_nodes_maintenance_delete_admin [0.095399s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb68949b-88d4-4d22-8fbb-6b7fd2b04a43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.193212s] ... 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.173966s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_043_nodes_maintenance_delete_member [0.203081s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d05e4425-398e-4947-b21a-e6fea8fbba3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.174019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.290543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [1.512256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_044_nodes_maintenance_delete_reader [0.158134s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0d3d8d7-6202-4e32-bd0e-12e14f52b7c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.198969s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.110375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.283377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_045_nodes_management_boot_device_put_admin [0.228516s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e906616-ec2f-47d0-86bc-54dc497a1e0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.126559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_046_nodes_management_boot_device_put_member [0.114668s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dee5118e-5ef1-46d2-a7a0-ef08551c7f1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_047_nodes_management_boot_device_put_reader [0.084074s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b108225-f00b-4d11-b06a-87f41cb9003a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.165150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_048_nodes_management_boot_device_get_admin [0.084997s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78dccb1c-35ad-48f3-aef1-a68ad2127b69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.039184s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_049_nodes_management_boot_device_get_member [0.116794s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9ce5942-7172-46c1-b686-472bab507d40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_050_nodes_management_boot_device_get_reader [0.086350s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e30bc815-7709-4d8e-8457-25f0634e4a85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.218065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_051_nodes_management_boot_device_supported_get_admin [0.071895s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4afd24f8-05a0-4344-81c0-43f6e0465d29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_052_nodes_management_boot_device_supported_get_member [0.076123s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dffa2a91-86f2-4215-8e8c-221eca5a0c9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.717364s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_053_nodes_management_boot_device_supported_get_reader [0.091750s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45e62c39-d057-4484-85a6-a4aec1ff4e36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_054_nodes_management_inject_nmi_put_admin [0.071594s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8873de18-11d8-4893-864a-5e1ab38d847c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.292556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_055_nodes_management_inject_nmi_put_member [0.081898s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f3c11ec-6d6b-4eca-8133-316ba9d55bac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_056_nodes_management_inject_nmi_put_reader [0.094184s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54b7aab6-b453-4e28-a824-51b673b70c31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.166129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [1.286687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_057_nodes_states_get_admin [0.130927s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57839347-f62e-4ec4-986f-eb58a6055707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.119236s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.049181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.027430s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.036680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_058_nodes_states_get_member [0.163059s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-279c2851-70ff-4dcb-9466-1f8f785381f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.048062s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.053281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_059_nodes_states_get_reader [0.109189s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-462ac17d-7d6e-4302-abb4-f0b6a14f6e98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.156782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_060_nodes_states_power_put_admin [0.108866s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d527d756-9c32-4286-af7d-837722a099e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.859185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.081605s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.105045s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_061_nodes_states_power_put_member [0.226268s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9f30023-1b54-41ed-9698-1e1ea1555449 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.087858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_062_nodes_states_power_put_reader [0.076550s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1cd8179c-c9d6-4a39-b205-ff5f0fd2f944 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.208712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_063_nodes_states_boot_mode_put_admin [0.186005s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2a746c7-0894-40a4-b83e-364b8b54d1e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.194067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_064_nodes_states_boot_mode_put_member [0.202615s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56a9aa1c-9582-49fe-bdae-d37ed161ba26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.743259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.150869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [1.326244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_065_nodes_states_boot_mode_put_reader [0.215625s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a6ce1f0-feb9-4dd5-b71f-97fc503d8db5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.128949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkInterfaceMixin.test_get_network_names_and_uuids [0.146901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.023567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.110193s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.025967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.022864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.023032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.026107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.021761s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.111731s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_066_nodes_states_secure_boot_put_admin [0.280826s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11205823-d503-48bc-970b-c412d5eae571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.019924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.027739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.523493s] ... 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.162114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_067_nodes_states_secure_boot_put_member [0.213557s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d96847e-e678-4ed2-8c27-4f9a6161da07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.076992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_068_nodes_states_secure_boot_put_reader [0.095172s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9edbbf23-4aa7-47a0-9e39-86cd9fa2cedf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_069_nodes_states_provision_put_admin [0.069239s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a7683de-77cd-48bc-86e0-ad431731a58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_070_nodes_states_provision_put_member [0.072644s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f01cf13-79e9-48b5-8b9c-9cb46702b602 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.216654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_071_nodes_states_provision_put_reader [0.079690s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e16bf52-3a45-4643-beae-60100676a6f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.121967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_072_nodes_states_provision_put_service [0.073484s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c0ef6a9-ccf6-403d-9971-d25b0c03c11f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.087272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.033002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_073_nodes_states_raid_put_admin [0.108628s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0c41b05-e0ad-422f-bc4e-c1926e2872db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.038356s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_074_nodes_states_raid_put_member [0.087211s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44809a20-a223-4b4f-b670-25adb0b212d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.061435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_075_nodes_states_raid_put_reader [0.082593s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fdb01e2-b611-4e30-ad66-22de779b57a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.086553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.043684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.034849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.952802s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.032336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.041475s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.050076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.095238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.229242s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.054284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [1.167082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.043297s] ... 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.046411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.221532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.086000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_076_nodes_states_console_get_admin [0.578412s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9595876c-7a2d-4596-9da3-201e97b72cfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.040471s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.043801s] ... 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.068718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.314398s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_077_nodes_states_console_get_member [0.170843s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82656315-9a7f-4d03-bbe3-14197c858834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.057384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [0.038230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.317674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.067658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.212659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_078_nodes_states_console_get_reader [0.208834s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b02812f-a7ed-4bc5-be1c-40a37dccd860 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.090961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.028141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.136874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.237913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_079_nodes_states_console_get_service [0.236807s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8424534b-9004-46b5-9cf4-b82e6ccee26c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.134093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.237110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.090359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.146870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.123670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.386012s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.056533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.052306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_080_nodes_states_console_put_admin [0.454224s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38805301-009d-4f8e-93e5-07be64277617 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.112550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.086397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.284578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.069525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.074596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_081_nodes_states_console_put_member [0.354793s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ddaf54d-975b-4977-ac6e-be1f05305aa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.102476s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.273425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.156723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.122760s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.342082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_082_nodes_states_console_put_reader [0.438904s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6487141-f731-41eb-96d6-0f7e345e7212 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.121536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.094494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.298569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.454619s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.266915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_083_nodes_states_console_put_service [0.386034s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92628419-8ec8-4708-ba6f-17a5d0549661 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.194973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.152213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_084_nodes_vendor_passthru_methods_get_admin [0.235276s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a9f76d4-da88-43a4-b682-73dc33a0752c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.166328s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.202695s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.139997s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_085_nodes_vendor_passthru_methods_get_member [0.299587s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71473574-b176-4391-8f95-86eabaaa8a3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.320878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.178408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.095372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.055726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.266111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_086_nodes_vendor_passthru_methods_get_reader [0.438030s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ee9c116-ceb8-4db8-b1df-8e550b4492b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.202561s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [1.144118s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.380998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.134874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.232007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.092584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.058204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_087_nodes_vendor_passthru_get_admin [0.429800s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7f9b870-7019-4da9-a12d-34e8c80e9060 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.184519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.219525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.085562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.162316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.104426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.057309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.248335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [0.092526s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.060326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.041608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_088_nodes_vendor_passthru_get_member [0.401505s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8c04588-5a56-4eb1-a0fb-dc921cf8985d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.206207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.045385s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.046958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.189420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6_uefi [0.062448s] ... 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.074997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.148479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.055062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.046295s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_089_nodes_vendor_passthru_get_reader [0.264014s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb944227-14f5-4043-900d-272292a76ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.048467s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.147338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildServicePXEConfigTestCase.test_build_service_pxe_config_adopt [0.045931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.181653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.025223s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.035203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.025107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.022777s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.124574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.035558s] ... 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.027109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_090_nodes_vendor_passthru_post_admin [0.246529s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93c711c5-10f9-4449-a457-cb585912754d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.203104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.035413s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.036685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_091_nodes_vendor_passthru_post_member [0.079956s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fba3b334-e0ad-4524-a8d0-8a4b035a20ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.023983s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.114210s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.032859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.022297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.019210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_092_nodes_vendor_passthru_post_reader [0.086622s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ab006ab-a58c-4d8a-9460-b5127e0e7e17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.018490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.058496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.018552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.018872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.055229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.022469s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_093_nodes_vendor_passthru_put_admin [0.081460s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1bcbdc38-ed95-4b95-91d6-6a7e1d344878 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.020466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.323740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.022776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.055122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.025253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.021996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.018708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.018102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.017335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_094_nodes_vendor_passthru_put_member [0.157348s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21f0ef19-f8aa-4f94-802b-2f1a31cf7cbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.106778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.146451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.056935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.054822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.077597s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.079829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.034155s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.162454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.061214s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.054859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_095_nodes_vendor_passthru_put_reader [0.242786s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51f27cfb-23a9-4f29-9ce5-49fa84db4dc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.049381s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.086949s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.068100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.130164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.078758s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.060304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.118458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.078685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_096_nodes_vendor_passthru_delete_admin [0.277301s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2dc0c77c-a02c-4848-bb96-671e95a8d78b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.146868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_097_nodes_vendor_passthru_delete_member [0.086315s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-643cab7c-8b60-4998-a555-1b9a4699e6d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.115076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.079611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_098_nodes_vendor_passthru_delete_reader [0.088661s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9a5aa48-682a-4813-95c7-085e6951e959 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_convert_controller [0.130042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_099_nodes_traits_get_admin [0.120749s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af96abda-e5d3-4abf-97b3-66c009da0cfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.162828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_100_nodes_traits_get_member [0.120784s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6420b23b-91e5-41f0-8a7a-e368462357d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_101_nodes_traits_get_reader [0.132015s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a6a7537-0238-4de4-bad0-74d1ccea6426 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.422428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_102_nodes_traits_put_admin [0.099037s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c040cdcd-1879-483b-a2c1-2801d9112345 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_103_nodes_traits_put_member [0.094091s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-762c8474-3b40-4983-8c6d-0403cb5c16d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.563535s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_104_nodes_traits_put_reader [0.110954s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1d816e1-3b1b-41f1-87cb-439b336339d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.063628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.301822s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_105_nodes_traits_delete_admin [0.097736s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-281747e9-d86d-4588-a87b-194a128bb9e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_cleanhold_abort_tear_down_fail [0.096558s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.073994s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_106_nodes_traits_delete_member [0.116657s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73d99ce0-1dc9-455e-bc69-64aa0be65994 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children [1.317873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_107_nodes_traits_delete_reader [0.091267s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2030aacc-f5ad-4d8e-b456-407a12c755c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_early [0.196313s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_108_nodes_traits_trait_put_admin [0.140288s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da2fbca9-447d-4691-a59e-31de7fd99cbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode [0.457711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_with_step [0.275687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_109_nodes_traits_trait_put_member [0.177180s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d859b03e-ff9e-4609-9951-0fb143faea35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_no_conversion [0.060828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_110_nodes_traits_trait_put_reader [0.143107s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8bd5457f-60fb-445b-bbcf-4eccf89aed7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_servicing.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children_by_uuid [0.548741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_not_raid [0.119310s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.031771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.021926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.021312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_111_nodes_traits_trait_delete_admin [0.084364s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfd49522-a135-4a21-a504-810948e45858 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.036420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.043126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_112_nodes_traits_trait_delete_member [0.095109s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1818244-5c19-4c64-b468-290c2c330915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_idrac [0.207663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.058718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.033234s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_113_nodes_traits_trait_delete_reader [0.097311s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7681b70a-f771-48df-9a49-a2a87772e0a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.035918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_114_nodes_vifs_get_admin [0.102298s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e716b836-dbe7-4e7f-a409-9d4fbf52ea57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy [0.169886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.137263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.069494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_115_nodes_vifs_get_member [0.130963s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e0ad864-2ee0-445e-bfb6-abbe5314b4d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy_oem [0.133500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.037128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.070408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.039627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.046420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.105849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.037577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.060714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.139266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.062188s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.062158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_116_nodes_vifs_get_reader [0.390809s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0c57adc-7396-47ef-9970-92679c8b29b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.148740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.112080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_117_nodes_vifs_get_service [0.075371s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-365e16e9-368d-4c6c-94ac-f3891a5f92c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.079245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.042060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.109149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_118_nodes_vifs_post_admin [0.140159s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1bef7941-0688-4f9a-9a2a-56206125402b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.049563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.060700s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.121083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.037278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.032400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_119_nodes_vifs_post_member [0.141042s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f58ae72-2b5a-44c7-90c4-83fd3ea08acd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.031479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.032790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children [1.526749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.205304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.087230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.042511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_120_nodes_vifs_post_reader [0.191993s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f676bc9-4e52-4736-80c0-7809df80b843 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler [0.048806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_no_fail [0.046208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_no_teardown [0.053076s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_servicefail [0.036521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_121_nodes_vifs_post_service [0.166105s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a212dc9-0f03-40e1-9e4a-cc42b269940c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.288953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_servicewait [0.071444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_tear_down_error [0.057644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_122_nodes_vifs_post_service_project [0.118005s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-312604c0-2535-4eed-9c75-8c59643a9f18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.061244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_123_nodes_vifs_node_vif_ident_delete_admin [0.093067s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61828781-05c4-46cd-a558-8d1f2ff9a63a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.062475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children_by_uuid [0.571457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_124_nodes_vifs_node_vif_ident_delete_member [0.101033s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4314672a-1bce-46bd-88e0-acc0bc801a84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.093287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.297388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.087904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_125_nodes_vifs_node_vif_ident_delete_reader [0.118048s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f6d132d-b0b3-41d2-bd7c-febb9801eb5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.155098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.071790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_126_nodes_vifs_node_vif_ident_delete_service [0.078392s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-851a509d-a017-4bc9-900d-c1dc85908e67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.081526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_127_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.115540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.043819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.060619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_inspection.TestContinueInspection.test_failure [0.413042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_128_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.026108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.147861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.074416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.052851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_129_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.031626s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.134882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.044333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_130_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.061048s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.069631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.064012s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.026676s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_inspection.TestContinueInspection.test_ok [0.403135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_131_portgroups_get_admin [0.176582s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3c22a57-cc0c-48f0-a418-414eed677571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.026519s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.152426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.028822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ServiceUtilsTestCase.test_wipe_service_internal_info [0.045918s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.089208s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_132_portgroups_get_member [0.142655s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfc7f807-9e67-496b-8b08-6eeec78ce738 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_no_subtasks [0.098389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_133_portgroups_get_reader [0.085588s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46482e6d-92af-456b-a159-2da0d989119f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.030455s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_134_portgroups_post_admin [0.087901s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/7a028a54-9ec3-4929-ad6d-94f6f0c26599 DEBUG util.py:445: Openstack-Request-Id: req-13a69ad5-658e-4e5a-998e-4fedd8045dd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7a028a54-9ec3-4929-ad6d-94f6f0c26599", "created_at": "2024-03-19T00:23:19.957175+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "links": [{"href": "http://localhost/v1/portgroups/7a028a54-9ec3-4929-ad6d-94f6f0c26599", "rel": "self"}, {"href": "http://localhost/portgroups/7a028a54-9ec3-4929-ad6d-94f6f0c26599", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/7a028a54-9ec3-4929-ad6d-94f6f0c26599/ports", "rel": "self"}, {"href": "http://localhost/portgroups/7a028a54-9ec3-4929-ad6d-94f6f0c26599/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.113516s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.040243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_inspection.TestContinueInspection.test_ok_asynchronous [0.349472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.027648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.056906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.032315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_135_portgroups_post_member [0.095024s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c2416a0-59ac-46ce-8e0e-f07a6cf268b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.063250s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.106057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_136_portgroups_post_reader [0.143776s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ea93b53-b9b3-4e74-9f3b-a6db209a134e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.134279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.098027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_137_portgroups_detail_get_admin [0.129430s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d515061c-2862-4b3a-ab5a-7d4f489c7f15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:20.284790+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.229561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_138_portgroups_detail_get_member [0.186139s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a6ccd93-fcd1-4588-8871-d7ed390afd93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:20.432477+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.200254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.592675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.267157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.045716s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.051729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_139_portgroups_detail_get_reader [0.173834s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0ffad75-1f49-43e9-aa82-bc9aeab6540b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:20.661005+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.121427s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.074926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_140_portgroups_portgroup_ident_get_admin [0.164694s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84e7d307-319a-47d8-bdd9-89d00a6b4db4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:20.769825+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.278003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_141_portgroups_portgroup_ident_get_member [0.082717s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d5dd385-ace1-434c-a4dc-096e7f7a20f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:20.911941+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.089555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.117833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_142_portgroups_portgroup_ident_get_reader [0.126530s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db6ccd0b-3142-40d7-b0b3-a73df559482f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:21.025665+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.130395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.571450s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.155907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.081599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_143_portgroups_portgroup_ident_patch_admin [0.294044s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5132622-6ca7-45d6-81f9-1eb0215a1011 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.228675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.251268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.206437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.076390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.068685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.103928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_144_portgroups_portgroup_ident_patch_member [0.481750s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0d361bf-7a12-42f7-b1cd-94b146171de3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.911134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.494436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_145_portgroups_portgroup_ident_patch_reader [0.402513s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9003aabc-d1d0-4f18-a33e-161fc5c48224 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.474271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.853898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_146_portgroups_portgroup_ident_delete_admin [0.458645s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e823e970-09cd-45ff-987b-63424d987062 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.170690s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [1.014463s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_147_portgroups_portgroup_ident_delete_member [0.181298s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3885ede2-9de1-4fb9-93f1-7438ad9ec732 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.528443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.266369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_148_portgroups_portgroup_ident_delete_reader [0.432808s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51afef29-d282-429e-9f00-1d263db7bc45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_cleaning [0.296089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.356754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_deploy [0.153485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.090257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.122917s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.035338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.036525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.040277s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.415383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_149_nodes_portgroups_get_admin [0.626792s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3247ddde-5e5f-49b9-9524-44318a41b940 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.131552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.197442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.073562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [1.249726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.114669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.109929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.057405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.059173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.152993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.059069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.141925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.091684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.354395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.081273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_local_or_whole_disk_image [0.068459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_150_nodes_portgroups_get_member [0.697469s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a0e9f16-0622-4326-9c34-7bf73f0fcaa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.095632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.125951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.038797s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.032385s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.061388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.145589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.059827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.076100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.055178s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.051119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.048789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.066071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.044019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.391627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.107458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.141658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_151_nodes_portgroups_get_reader [0.843164s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-288dec2b-ec14-4931-927f-828eacbc8bb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.465939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.100675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.433643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.111800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_152_nodes_portgroups_get_service [0.433717s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-737e2409-2b87-48dc-a48e-cde0767de1f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [1.506847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_agent_token [0.123709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.137332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.115287s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_agent_token_older_version [0.124800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.117962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_newer_version [0.103807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.070314s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.059271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.047619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_tls_required [0.120385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_153_nodes_portgroups_get_service_project [0.444870s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73e79446-0e1f-4edf-940a-2de10d154f90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.041695s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_glance [0.068384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_token [0.112970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver [0.062619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_verify_ca [0.107270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.063550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.054276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_version [0.095915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.063644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_154_nodes_portgroups_detail_get_admin [0.353525s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4dfde355-6e4e-4f35-a5bb-c5ba486e62fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:26.623636+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.052129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_no_required_agent_token [0.100455s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.080691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.109642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_required_agent_token [0.190147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.995005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_without_agent_version_anaconda [0.166425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_155_nodes_portgroups_detail_get_member [0.405231s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7ef4a66-68e2-4713-b1a5-443727e1e874 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:26.993624+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.198902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.080192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_without_version [0.105092s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.046048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_anaconda_cleaning [0.221635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.148847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_anaconda_deploying [0.155776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.100843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_156_nodes_portgroups_detail_get_reader [0.420247s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0316f825-9c43-490b-a5be-3b32bdab0397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:27.283170+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.058663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_anaconda_rescuing [0.074461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.054800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.063997s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.058124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.088166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.065832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.606094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.084993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.050801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.054688s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.084381s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.046392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.045840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.072870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.095067s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.047866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_157_nodes_portgroups_detail_get_service [0.599818s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cff9b53-91c0-423c-b033-c44c21274361 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-19T00:23:27.887319+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.195059s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.238130s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.093252s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_158_nodes_portgroups_detail_get_service_project [0.284889s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bd7bb10-83dc-4ded-8c26-429e767ca7d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.067529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.305837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.802707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.074277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.220496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_159_ports_get_admin [0.299321s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd6bbcd5-15fa-442b-9c41-0e16a20034d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.270553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.128959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.120999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.113104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.096258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.060153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.084487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_160_ports_get_service [0.302920s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a38c2aec-945c-495c-ab96-f622c5e6b69c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.119421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.162806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.093341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_161_ports_get_service_project [0.238310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cea21945-2ba0-41f9-a706-b48fdc5212cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.233957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.051716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.092975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.214907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_162_ports_get_service_project_disabled [0.247663s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35f28dbb-d1c4-4146-8f75-7076bb9f3838 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.095004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.170595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.122636s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.935201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.103210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.187620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_163_ports_get_member [0.274738s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15a9e369-3cc3-492f-b259-f8a229f48f63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.051541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.102275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.045130s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.091774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.166077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.058248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.405904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.099037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.120417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.098707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.034882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.104626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.071910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_164_ports_get_reader [0.523670s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0013cfc9-b8f7-4263-b230-2f8436b9ee5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.270355s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.068906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.058259s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.134837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.061059s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.211593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.247594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_165_ports_post_admin [0.343115s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c482b795-fb84-48ad-8bd1-a9f4577bae10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.152510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_cpu_capabilities.CPUCapabilitiesTestCase.test_cpu_capabilities [0.115319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_extra_hardware_with_errors [0.048147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.208454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_invalid_data_strict_mode_off [0.045421s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_166_ports_post_member [0.162545s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000', 'address': '03:04:05:06:07:08'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7be2c335-7186-4340-9410-cf0e3a3a6392 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_invalid_data_strict_mode_on [0.046595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.155637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_no_data_received [0.089686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_valid_extra_hardware [0.044605s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.135239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_167_ports_post_reader [0.183138s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0932870-83ee-4ead-a17d-03eb48ec1ff6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_interface_not_in_all_interfaces [0.048713s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.260982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_chassis_id_subtype [0.051940s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_port_id_subtype [0.046913s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.156277s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_tlv_value_hex_format [0.046579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_lldp_none [0.048718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.180666s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_168_ports_detail_get_admin [0.225759s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5639dc5-7966-4fa7-a1fe-997e89c86ebd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:31.251429+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_no_port_in_ironic [0.063314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.165679s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_port_id_subtype_mac [0.045056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_169_ports_detail_get_member [0.083581s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9724fe83-dcac-4bbc-951f-46722a8a5ce1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:31.366093+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_port_local_link_connection_already_exists [0.044622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_valid_data [0.052248s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_170_ports_detail_get_reader [0.151002s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a6d6901-7c7c-4a0f-a386-0cb39a51aa9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:31.463110+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.282653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_pci_devices.PciDevicesTestCase.test_pci_devices [0.111355s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.239995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.074746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.095866s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.098594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.068234s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_physical_network.PhysicalNetworkTestCase.test_physical_network [0.199545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_171_ports_port_id_get_admin [0.310480s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44a64f8f-4277-461f-974f-9a95d0a83e7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:31.673431+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.141645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.144475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_172_ports_port_id_get_member [0.163022s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37cb09e9-9e85-4639-a1fe-9b5e4ebc9166 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:31.979351+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.130207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.045536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.AddPortsTestCase.test_add_ports [0.305530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.269902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_173_ports_port_id_get_reader [0.195882s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f30e2bc3-4db4-402c-99d0-568d100105cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:32.112650+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.209059s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.167040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.AddPortsTestCase.test_duplicates [0.263985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.115573s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_174_ports_port_id_patch_admin [0.193562s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab04c417-318b-43a9-8441-6ac68424e627 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.157878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_175_ports_port_id_patch_member [0.228180s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c428dfc-2862-4555-ba99-ed928e6e79e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.148120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.434071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_added [0.398852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.039615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_176_ports_port_id_patch_reader [0.171543s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2fabd94-709b-4cee-9b49-be1d69e0a073 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.096352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.065198s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_all [0.154752s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_177_ports_port_id_delete_admin [0.103141s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6464df8-bc2b-4102-b4e4-90e8924fdc7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.094472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_178_ports_port_id_delete_member [0.107509s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4321ee3d-7c6b-4ee6-a494-dd4d3b6cb7d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_present [0.144682s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.143977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_179_ports_port_id_delete_reader [0.092759s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c2079cd-0fce-412e-b9b4-33e73400485d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_pxe_enabled [0.132487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_180_nodes_ports_get_admin [0.076743s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e7f6e98-08cd-4c13-ba52-bb0be3e7185d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.125665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_agent.ContinueInspectionTestCase.test [0.100823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_181_nodes_ports_get_member [0.099610s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9675c34-576f-4bf6-aae1-f9ad60334c6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint [0.035820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.032850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.028507s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_182_nodes_ports_get_reader [0.098600s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0d6e4e6-15fa-40ab-8da1-b47519119553 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.186209s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.054941s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_properties [0.037399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_183_nodes_ports_detail_get_admin [0.105440s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-886b7d4f-0405-4c61-8b7a-9e05e459567a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:33.472313+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_validate_ok [0.036956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_184_nodes_ports_detail_get_member [0.088582s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f0804fb-01a0-4650-88a0-e953c77d19ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:33.570683+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.197426s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_custom_params [0.149303s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_185_nodes_ports_detail_get_reader [0.076824s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a933828b-513a-4079-9070-0622f4a93cc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:33.653196+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_186_portgroups_ports_get_admin [0.090461s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c39b79a9-7e21-4d09-b660-d218afbdf9d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.223625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_187_portgroups_ports_get_member [0.089481s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e3759e0-883b-4375-a77d-bf8c6c456871 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_error [0.189742s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_188_portgroups_ports_get_reader [0.121609s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd50006b-acb0-4242-bcdf-6adc86032b75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_fast_track [0.129549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_fast_track_via_driver_info [0.145986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_189_portgroups_ports_detail_get_admin [0.169427s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76eb7404-3123-4f85-ab54-2a58921f5a06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_ok [0.124406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_require_managed_boot [0.034300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_190_portgroups_ports_detail_get_member [0.143407s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed2e98d8-5a8d-41d3-ad16-66032a4dbf9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_unmanaged_error [0.055403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_unmanaged_ok [0.071724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_validate_ok [0.048888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_validate_require_managed_boot [0.033626s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.105078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.047889s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.044672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.050094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.924902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.036068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.056715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.080886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.091834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.065361s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.060709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.052737s] ... 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.069443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.055944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.061864s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.055461s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.079439s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance [0.080111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.104602s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_active [0.121980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.178200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_191_portgroups_ports_detail_get_reader [1.266308s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a37b886-648b-487f-8061-db9c6c39b6d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.270408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_192_volume_get_admin [0.185421s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3b0ad7a-f5ec-4430-93ed-9243ad13a9df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.167530s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.508139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_193_volume_get_member [0.181849s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53debe37-86f8-441c-b558-87549a306864 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScopedRequests.test_system_scoped_194_volume_get_reader [0.080606s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d37984f3-f708-4ff8-8720-5eb7a62d3aa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.171020s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.030524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.043306s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_no_match [0.041840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart_bios [0.305353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_with_match_multi [0.050346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_with_match_single [0.048776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_195_volume_get_service [0.256217s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab56b651-5f06-4f34-beb3-510a1a5cee5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.060794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.037014s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_lenovo [0.180504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.064681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.199282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_196_volume_get_service_project [0.423011s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92e06a68-6f06-49e1-8ac5-453f5994c20c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.353529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.185085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.278894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_197_volume_connectors_get_admin [0.234613s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-356fa572-90b7-4d60-85e2-b09671845e7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.101684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.068236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.080908s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.290486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.068707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.052026s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_198_volume_connectors_get_member [0.369431s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca8be910-7235-48c5-8f79-949cffdc9f3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.053062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.031311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.087035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_bios [0.303099s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.196807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.250290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_199_volume_connectors_get_reader [0.424738s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e76bb8f3-09b2-4f64-9942-1d853a77cc33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_200_volume_connectors_get_service [0.094902s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b68dd73-ec98-4755-9fa6-44add7a61f34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.122779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [4.983364s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.208939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_201_volume_connectors_get_service_project [0.299103s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f208ea4-7eea-41f7-9a17-fca3cee16419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.252619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.381703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.325939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.326969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.722336s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_202_volume_connectors_get_service_project_disable [0.478231s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ed184fd-3dbd-49a2-bb62-723ed65c63f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"connectors": []} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue_bios [0.315614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.340167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_203_volume_connectors_post_admin [0.281752s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/87246081-a297-4e77-859d-291e9f58aecc DEBUG util.py:445: Openstack-Request-Id: req-13712940-e626-408d-8307-6534b1a8594d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "87246081-a297-4e77-859d-291e9f58aecc", "created_at": "2024-03-19T00:23:38.881406+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/87246081-a297-4e77-859d-291e9f58aecc", "rel": "self"}, {"href": "http://localhost/volume/connectors/87246081-a297-4e77-859d-291e9f58aecc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.361740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.293269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.312738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_204_volume_connectors_post_member [0.287586s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/c48f1c50-3107-49d4-be6b-52a5d7af3c52 DEBUG util.py:445: Openstack-Request-Id: req-5237b45b-48a6-4343-8ed8-8921d9a57782 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c48f1c50-3107-49d4-be6b-52a5d7af3c52", "created_at": "2024-03-19T00:23:39.170919+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/c48f1c50-3107-49d4-be6b-52a5d7af3c52", "rel": "self"}, {"href": "http://localhost/volume/connectors/c48f1c50-3107-49d4-be6b-52a5d7af3c52", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.282226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.053340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_205_volume_connectors_post_reader [0.093292s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50ad608f-d39f-4e4b-98b4-7b212637bba5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.064061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_206_volume_connectors_post_service [0.110885s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/79c3a0aa-8cb3-4ce8-8f67-c4ffeb9e3346 DEBUG util.py:445: Openstack-Request-Id: req-eac04a60-d1ab-49c9-b231-0c76fc57280c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "79c3a0aa-8cb3-4ce8-8f67-c4ffeb9e3346", "created_at": "2024-03-19T00:23:39.379390+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/79c3a0aa-8cb3-4ce8-8f67-c4ffeb9e3346", "rel": "self"}, {"href": "http://localhost/volume/connectors/79c3a0aa-8cb3-4ce8-8f67-c4ffeb9e3346", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.212437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.086990s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.038071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_207_volume_connectors_post_service_project [0.115201s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/92849cbd-b191-46c2-86da-f5841f0c2f86 DEBUG util.py:445: Openstack-Request-Id: req-e91eb34c-4c6d-414b-a7fa-0f1765eff65a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "92849cbd-b191-46c2-86da-f5841f0c2f86", "created_at": "2024-03-19T00:23:39.495222+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/92849cbd-b191-46c2-86da-f5841f0c2f86", "rel": "self"}, {"href": "http://localhost/volume/connectors/92849cbd-b191-46c2-86da-f5841f0c2f86", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.062753s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.058894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_208_volume_volume_connector_id_get_admin [0.110748s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ada901f-5889-4e0a-a981-6dd7e7cceb30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:39.578672+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.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.120175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.045901s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.406839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.041837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.718036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.201021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.258619s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_209_volume_volume_connector_id_get_member [0.635252s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-902aebf4-dec7-4db5-aa8b-6758c9134ce5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:39.959711+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.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.277892s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.165585s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.475616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.172008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_210_volume_volume_connector_id_get_reader [0.429933s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe154d61-52ab-4b91-ba50-983464cf5909 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:40.482033+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.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.407672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_different_inventory_time [0.313648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.176453s] ... 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.600806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.266707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.288521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_211_volume_volume_connector_id_patch_admin [0.501787s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db6c6c72-4302-4824-8d80-4e5970ffdc6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.116720s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_212_volume_volume_connector_id_patch_member [0.120552s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2ca0b10-3765-433a-b1e9-23ad3fccbbcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time_timeout [0.245378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.073670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.407735s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_213_volume_volume_connector_id_patch_reader [0.084706s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06a0f4f9-4bf9-47d7-8f5a-7bca23b69c64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_214_volume_volume_connector_id_patch_service [0.089768s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bce9efb-4ada-4260-835f-2d1cc1dc9073 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_215_volume_volume_connector_id_delete_admin [0.074671s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fb2e035-b76a-4421-9fc9-49c0c656b925 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.253580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_216_volume_volume_connector_id_delete_member [0.084174s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34594ae4-2964-43a1-b33a-a24e9a63e58b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_217_volume_volume_connector_id_delete_reader [0.079241s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf53b813-160a-4b60-969a-9eb381727058 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.389769s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.126969s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.390999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_218_volume_volume_connector_id_delete_service [0.077898s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dad905d1-fe6f-46f7-bf25-7fa0f52f25a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.112090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_219_volume_targets_get_admin [0.079337s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2049ab18-eefb-48c2-916a-1df7dc27372a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.230768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_220_volume_targets_get_member [0.088885s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee34fa02-1f36-4e4f-a39c-dc7f20c06476 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.191099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_221_volume_targets_get_reader [0.078589s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d188c23-734f-475d-b672-3ac4563be109 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.362160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_222_volume_targets_get_service [0.081788s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f4e70aa-9108-438d-b961-885f446dbdd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.194921s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.170499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_223_volume_targets_post_admin [0.086068s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/270c6744-1df9-4a06-9f76-5e3db94ee810 DEBUG util.py:445: Openstack-Request-Id: req-50d8c7bc-510f-4b27-a530-bee9f6d54b98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "270c6744-1df9-4a06-9f76-5e3db94ee810", "created_at": "2024-03-19T00:23:42.210032+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/270c6744-1df9-4a06-9f76-5e3db94ee810", "rel": "self"}, {"href": "http://localhost/volume/targets/270c6744-1df9-4a06-9f76-5e3db94ee810", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_224_volume_targets_post_member [0.083333s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/49e27479-0e32-4025-a2ab-2b2412556780 DEBUG util.py:445: Openstack-Request-Id: req-7857a7fa-13ce-4ba7-a985-65a9d91c3c1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "49e27479-0e32-4025-a2ab-2b2412556780", "created_at": "2024-03-19T00:23:42.293149+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/49e27479-0e32-4025-a2ab-2b2412556780", "rel": "self"}, {"href": "http://localhost/volume/targets/49e27479-0e32-4025-a2ab-2b2412556780", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.218071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.235780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_225_volume_targets_post_service [0.087470s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/46e16ccf-4a2d-477c-96c9-682b372f1f23 DEBUG util.py:445: Openstack-Request-Id: req-f538c069-96b8-49cd-a2c9-e5eabfea9af2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "46e16ccf-4a2d-477c-96c9-682b372f1f23", "created_at": "2024-03-19T00:23:42.382321+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/46e16ccf-4a2d-477c-96c9-682b372f1f23", "rel": "self"}, {"href": "http://localhost/volume/targets/46e16ccf-4a2d-477c-96c9-682b372f1f23", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_226_volume_targets_post_service_project [0.086420s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/94f1ee6a-5943-40c5-820d-14c8e681a227 DEBUG util.py:445: Openstack-Request-Id: req-25634975-c1d5-4730-9ca3-2aac8561d408 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "94f1ee6a-5943-40c5-820d-14c8e681a227", "created_at": "2024-03-19T00:23:42.468381+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/94f1ee6a-5943-40c5-820d-14c8e681a227", "rel": "self"}, {"href": "http://localhost/volume/targets/94f1ee6a-5943-40c5-820d-14c8e681a227", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.132555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_227_volume_targets_post_service_project_disabled [0.075510s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24d814e7-89c9-4954-8c69-002213ff44da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.342632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.255163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_228_volume_targets_post_service_project_admin [0.080004s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb01c5b3-b53d-478f-8034-8af7025e486a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_config_jobs [0.116949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.052944s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_229_volume_targets_post_reader [0.097340s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87787e0b-2687-4df3-8740-46c117937d12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_230_volume_volume_target_id_get_admin [0.140763s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ac686b5-5257-4b35-9e8b-d6f3724a703a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:42.788612+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: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.349033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_231_volume_volume_target_id_get_member [0.089633s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70168466-b7e7-4bca-8300-8643f224de12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:42.924385+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.388956s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_attach_virtual_media_http [0.165350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.432374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.094554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_232_volume_volume_target_id_get_reader [0.291084s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1917f014-2d8a-4f9f-afd5-f8b4011a38c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:43.215602+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.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.117641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_233_volume_volume_target_id_get_service [0.092593s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01e298fe-07fd-4b31-a142-15f65ae508a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-19T00:23:43.311855+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: {2} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_attach_virtual_media_local [0.275816s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.371538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.076057s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_do_attach_virtual_media [0.073567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_234_volume_volume_target_id_patch_admin [0.118412s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a18d88a-4039-461c-a49f-bd7bd04bdbd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.079182s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_235_volume_volume_target_id_patch_reader [0.088249s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a18bfc8-2ee9-46ac-942c-c0bfbab3ecd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_manager.VirtualMediaTestCase.test_do_attach_virtual_media_fails_on_attach [0.144326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.132813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_236_volume_volume_target_id_patch_service [0.102616s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc3af81d-a54f-4250-b981-7d155c0c5342 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.067976s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.056176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_237_volume_volume_target_id_delete_admin [0.085833s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00e1e573-86e8-4ae0-b004-75abdb4fafcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.077729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_238_volume_volume_target_id_delete_member [0.078603s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c179a66e-bb59-46e1-aafa-1ff7957d705a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.475146s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_do_attach_virtual_media_fails_on_prepare [0.279561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_239_volume_volume_target_id_delete_reader [0.084503s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6aea216b-4969-4952-99ba-9d3104188ac1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.099570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_240_volume_volume_target_id_delete_service [0.098573s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3ae7bef-823f-47fd-ae72-a400b9954570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.095735s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_241_nodes_volume_get_admin [0.086783s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e5783bd-82be-47b6-b5a6-9ab85bd9930c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.092002s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.070761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_242_nodes_volume_get_member [0.099572s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f49679f9-f0f4-4e03-877e-3d5a3fb55aaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_243_nodes_volume_get_reader [0.083179s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b5b2ae1-0a0b-443c-ba62-480e17ee67ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.128346s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_244_nodes_volume_connectors_get_admin [0.081520s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f594f6a-d269-4cd0-80f4-b04148c8df7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.091954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_245_nodes_volume_connectors_get_member [0.095342s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54674aca-219c-4857-849f-7fa9c95c2976 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.074553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.640474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_246_nodes_volume_connectors_get_reader [0.086013s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b573e1d-f0d6-42e9-91fa-aebd9680d13d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_exclusive [0.733527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.161259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_247_nodes_volume_targets_get_admin [0.092556s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13118969-908f-4b6c-bc14-5319c9c69a11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.068723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_interface_check [0.108046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_248_nodes_volume_targets_get_member [0.084302s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2fd9f80-e4ea-4c9c-9cc4-f5d95ee891d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.conductor.test_periodics.NodePeriodicTestCase.test_limit [0.037824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_never_run [0.052365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.107915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_249_nodes_volume_targets_get_reader [0.096016s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c9b1c72-2238-4bad-9db6-a997f0abd004 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_250_drivers_get_admin [0.073516s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9c50787-e601-4826-bd24-8398d7d8d267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"drivers": []} 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.163145s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_251_drivers_get_member [0.092516s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ac614f3-b962-4770-a09e-c065f205a40f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"drivers": []} 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.063305s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.603823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_252_drivers_get_reader [0.148604s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8d88327-a65d-46d2-a1a3-5e3c933eb0ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.129795s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.117399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_253_drivers_driver_name_get_admin [0.161784s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4119fd7c-6a69-47b1-b3fa-3faad9d25ef8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_with_errors_job [0.080152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.073914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_254_drivers_driver_name_get_member [0.141273s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5dd5e14-ad3e-4da9-a0a9-e8bd2ede75bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.079071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.068209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_255_drivers_driver_name_get_reader [0.156018s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f4f33e1-763f-4e87-9c31-9e2242a41645 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.157476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_256_drivers_properties_get_admin [0.156429s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-006c27e5-5575-46f0-a8ab-c59367301897 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.674829s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_deploy [0.095986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.044308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.054840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_257_drivers_properties_get_member [0.197795s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3851fc56-c0a6-4192-a95d-3d2c3397fd7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.046509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.194083s] ... 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.033366s] ... 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_wsman [0.045325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_258_drivers_properties_get_reader [0.131998s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c5e6f05-aec8-4ba6-a96f-7e0e3f8cc4da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.051566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.086808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.048852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_non_local [0.243342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_259_drivers_raid_logical_disk_properties_get_admin [0.179854s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f853d1f-4937-4acc-9751-e3e571f85ec0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.044575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.089150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.170194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_260_drivers_raid_logical_disk_properties_get_member [0.164870s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8609183-12b3-4155-8dce-c39cce91f175 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.029734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.096277s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.060315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_261_drivers_raid_logical_disk_properties_get_reader [0.124815s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ade20f94-c4df-44f1-9776-bffaa8febe8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.218712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.242175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.104105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.055407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_262_drivers_vendor_passthru_methods_get_admin [0.332174s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1f0e35e-4235-4aa7-ac44-128043c90e98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple [2.136122s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.172536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_stop [0.035021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [0.112264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.052555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_clean_step_automated_execute_fail [0.081306s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.040710s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.041091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.045797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.219090s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_fail_in_tear_down_service [0.130779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_last_step_noop [0.073085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_263_drivers_vendor_passthru_methods_get_member [0.416497s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96915266-b8ad-41c6-81d4-f4b0a6c78c6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_no_steps [0.099188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_bad_step_return_value [0.070667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_manual_last_step_noop [0.070263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.335760s] ... 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.357455s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.038013s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service [0.070246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.048666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_automated_network_validate_fail [0.066698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.031130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.031126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_automated_power_validate_fail [0.065062s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.246320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_disable_ramdisk [0.072548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_264_drivers_vendor_passthru_methods_get_reader [0.449719s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba788fc3-fa68-4b28-96ec-b44126e4bb50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.112284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_manual_network_validate_fail [0.063052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.048812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.048868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_manual_power_validate_fail [0.071935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.091494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_network_error_fail [0.085003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.080544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_active [0.097525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.323984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_265_drivers_vendor_passthru_get_admin [0.347059s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a50946ed-d103-4d75-add9-e50699ea52eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_fail [0.112662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.187860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_wait [0.088235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.143484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_steps_fail [0.190661s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.394204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.136435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_continue_node_service [0.079996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_continue_node_service_no_skip_step [0.055307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.073487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_266_drivers_vendor_passthru_get_member [0.492814s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ba7e318-1398-4535-93ba-263f6e418a53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.039458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_all [0.106132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.154288s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_all_disable_ramdisk [0.108604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_267_drivers_vendor_passthru_get_reader [0.213183s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e297fdc5-aea8-47c0-9c3e-7d33b5158017 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.370555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_collect_logs [0.103778s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.088637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.226459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.073871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.275957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_agent_busy [0.054601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_automated_first_step_async [0.061827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_268_drivers_vendor_passthru_post_admin [0.397062s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a7a8aac-5a8f-42d1-85e3-5ed636fed16c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_handles_hold_from_active [0.082061s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.268958s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_handles_hold_from_wait [0.074146s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.283480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.129153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_manual_first_step_async [0.127426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_269_drivers_vendor_passthru_post_member [0.324306s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48870814-5eaa-47e7-b32c-3a405a92e5cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.198532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot [0.177257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.241772s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.087529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_270_drivers_vendor_passthru_post_reader [0.193966s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c7a9aa2-0201-4dd5-822d-927c720d6f83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.063671s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.060434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot_fail [0.300334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.144344s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.314018s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_271_drivers_vendor_passthru_put_admin [0.293498s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bea2ca2d-275e-4907-a2c9-9f43e9a3556e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.116803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_272_drivers_vendor_passthru_put_member [0.067358s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf6d0f1e-7a4d-4d1c-95a9-212569f97ce2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot_last_step [0.208605s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_273_drivers_vendor_passthru_put_reader [0.075901s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff2f0bf6-7c2f-4a56-a2a4-28b61b1869ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.260135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_274_drivers_vendor_passthru_delete_admin [0.066598s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/drivers/fake-driverz/vendor_passthru?method=test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4bb2816c-1767-46bd-a72d-929759808669 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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.TestRBACScopedRequests.test_system_scoped_275_drivers_vendor_passthru_delete_reader [0.073008s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/drivers/fake-driverz/vendor_passthru?method=test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcdd4212-0bf6-4bdb-bb2b-f15aa13994f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_node_service_steps_fail_poweroff [0.233307s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_276_nodes_bios_get_admin [0.081719s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-beab7533-008c-4554-a9f6-fc6611c5c6f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-19T00:23:50.397130+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_277_nodes_bios_get_member [0.084276s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1e7a86c-f5d0-4ceb-aa83-5981949aac86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-19T00:23:50.483326+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: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.298636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.185335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_278_nodes_bios_get_reader [0.106694s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9322720d-2669-497c-bd81-634b6f263325 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-19T00:23:50.566093+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: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.087087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.058742s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.617991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.125764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_279_nodes_bios_bios_setting_get_admin [0.145410s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d5d6f0f-fbd7-49d5-91fd-04505a3478cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-19T00:23:50.688350+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: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_ilo6_redirect [0.093549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.099868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.159906s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.156152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.182995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.150305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_280_nodes_bios_bios_setting_get_member [0.294226s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b673977b-43fd-4d46-968f-751e4ca3193d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-19T00:23:50.931368+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: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.101833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.104532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.192178s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.128267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_281_nodes_bios_bios_setting_get_reader [0.267083s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85b39a35-e98c-453b-a206-1de91507b495 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-19T00:23:51.199398+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: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.191957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.070899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.235028s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.059971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_282_conductors_get_admin [0.271552s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1e8a526-9cb7-4ec2-9abb-3a97c47f6fb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.069567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.099334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_283_conductors_get_member [0.139054s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c0f1c5e-1591-415a-a261-2bbee86560bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.222925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.073873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_284_conductors_get_reader [0.165576s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-063e30e4-84c9-4f7a-9dd1-f1523921530d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_285_conductors_hostname_get_admin [0.095913s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd3100e0-a7ad-4107-a770-264c35e6f42b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:23:51.976211+00:00", "updated_at": "2024-03-19T00:23:51.977120+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: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.319060s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_286_conductors_hostname_get_member [0.158904s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a87bdb3-ee1d-4f0e-bfbe-edd33f660dec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:23:52.132773+00:00", "updated_at": "2024-03-19T00:23:52.133721+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: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.443436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_287_conductors_hostname_get_reader [0.159657s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba89a9e4-0264-486b-8e4e-24de2a161a37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"created_at": "2024-03-19T00:23:52.260401+00:00", "updated_at": "2024-03-19T00:23:52.269908+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: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.112731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.126813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_288_allocations_post_admin [0.187719s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dc57ac6-0a30-4c7d-a4c2-e901228ab6c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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_289_allocations_post_member [0.091612s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b69229ea-6894-41f3-b0a8-72c0cc62e417 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.509363s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.203088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_290_allocations_post_reader [0.178818s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c20b2073-27ce-45f8-8a53-cfdd4f79443b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.171608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_291_allocations_get_admin [0.100111s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-057ea40e-7610-4964-9327-2523260bda26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "b8e2ebb8-7478-4cfb-840e-cffd6aa3e8e3", "created_at": "2024-03-19T00:23:52.824998+00:00", "updated_at": "2024-03-19T00:23:52.845051+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b8e2ebb8-7478-4cfb-840e-cffd6aa3e8e3", "rel": "self"}, {"href": "http://localhost/allocations/b8e2ebb8-7478-4cfb-840e-cffd6aa3e8e3", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_292_allocations_get_member [0.137746s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32afe0d0-6822-4341-9891-4f87d93a042b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "fda4f42e-7633-42a6-a293-5da854ac9bad", "created_at": "2024-03-19T00:23:52.920338+00:00", "updated_at": "2024-03-19T00:23:52.930590+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fda4f42e-7633-42a6-a293-5da854ac9bad", "rel": "self"}, {"href": "http://localhost/allocations/fda4f42e-7633-42a6-a293-5da854ac9bad", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.149574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.051159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.124661s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.592930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_293_allocations_get_reader [0.257505s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e84e6f5d-535d-4dad-86f5-c5f20dc2e9f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"allocations": [{"uuid": "ce4681d0-7209-4df5-ac29-2ec46130888b", "created_at": "2024-03-19T00:23:53.102073+00:00", "updated_at": "2024-03-19T00:23:53.106706+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ce4681d0-7209-4df5-ac29-2ec46130888b", "rel": "self"}, {"href": "http://localhost/allocations/ce4681d0-7209-4df5-ac29-2ec46130888b", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.100569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.232601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.174965s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.312533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_294_allocations_allocation_id_get_admin [0.351991s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/e642137d-bc73-472a-93f6-64cd1a352c30 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-317b8de5-c24f-49e5-b003-80d641d0fc7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e642137d-bc73-472a-93f6-64cd1a352c30", "created_at": "2024-03-19T00:23:53.358913+00:00", "updated_at": "2024-03-19T00:23:53.384057+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e642137d-bc73-472a-93f6-64cd1a352c30", "rel": "self"}, {"href": "http://localhost/allocations/e642137d-bc73-472a-93f6-64cd1a352c30", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.213642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.205603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.353724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_295_allocations_allocation_id_get_member [0.363341s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/bc2d3fc9-cffd-41f0-84b9-2d939579e21c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a178450-59b0-4242-a642-de52f1f75c48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "bc2d3fc9-cffd-41f0-84b9-2d939579e21c", "created_at": "2024-03-19T00:23:53.824347+00:00", "updated_at": "2024-03-19T00:23:53.834167+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bc2d3fc9-cffd-41f0-84b9-2d939579e21c", "rel": "self"}, {"href": "http://localhost/allocations/bc2d3fc9-cffd-41f0-84b9-2d939579e21c", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_296_allocations_allocation_id_get_reader [0.100526s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/707e9232-6318-4a9d-9ec0-32d6a3edccf1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24abbfbd-b05d-4e20-a640-3660df3ab496 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "707e9232-6318-4a9d-9ec0-32d6a3edccf1", "created_at": "2024-03-19T00:23:54.042373+00:00", "updated_at": "2024-03-19T00:23:54.048550+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/707e9232-6318-4a9d-9ec0-32d6a3edccf1", "rel": "self"}, {"href": "http://localhost/allocations/707e9232-6318-4a9d-9ec0-32d6a3edccf1", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.219003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.062226s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.098406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.281752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.058140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.115425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_297_allocations_allocation_id_patch_admin [0.213065s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/94a66390-8af7-4d21-9f8e-e8f39226dfe3 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f081908-64f6-46f8-bda0-fda2e08e0302 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "94a66390-8af7-4d21-9f8e-e8f39226dfe3", "created_at": "2024-03-19T00:23:54.137121+00:00", "updated_at": "2024-03-19T00:23:54.305482+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/94a66390-8af7-4d21-9f8e-e8f39226dfe3", "rel": "self"}, {"href": "http://localhost/allocations/94a66390-8af7-4d21-9f8e-e8f39226dfe3", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.151413s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.259659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_298_allocations_allocation_id_patch_member [0.251239s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/bcd63a6e-fdef-476e-9b65-40f334dc44fb WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3acf5f1d-36dd-4649-9821-2a1a5aa3d592 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "bcd63a6e-fdef-476e-9b65-40f334dc44fb", "created_at": "2024-03-19T00:23:54.413684+00:00", "updated_at": "2024-03-19T00:23:54.552822+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/bcd63a6e-fdef-476e-9b65-40f334dc44fb", "rel": "self"}, {"href": "http://localhost/allocations/bcd63a6e-fdef-476e-9b65-40f334dc44fb", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.147180s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.156349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.109544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.128005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_299_allocations_allocation_id_patch_reader [0.243058s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/e2ed004f-e3eb-42e7-8ff8-65fd6329b945 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23c8c870-700f-45b8-94e6-7d0dc768e90e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.055132s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.178505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.115658s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.137118s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_300_allocations_allocation_id_delete_admin [0.240073s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/c06f707c-0690-4b4b-aaaf-4dfb0515ea51 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db34d83a-db0c-4303-ad11-a19c25fcf8e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.152772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_301_allocations_allocation_id_delete_member [0.229383s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/2774555b-528b-4668-8fca-c25d53246172 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32694011-4bb2-417c-aa18-2a672e0b7516 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.161583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.064456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.053635s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.540665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.213708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.097365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_302_allocations_allocation_id_delete_reader [0.368684s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/4ba2f309-d0a0-457b-ac66-414e36117afa GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3629f8e-4aad-4ca6-8f41-0835344ac0fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.136926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.317169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.126270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.064124s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.042897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.137036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeServiceStepsTestCase.test__get_service_steps [0.252752s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_303_nodes_allocation_get_admin [0.468780s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4f3b089-17d6-49ff-8695-6f972bd2bfe5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5e53a4f0-06a4-4e18-bd2d-967cd32d9653", "created_at": "2024-03-19T00:23:55.794314+00:00", "updated_at": "2024-03-19T00:23:55.831769+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5e53a4f0-06a4-4e18-bd2d-967cd32d9653", "rel": "self"}, {"href": "http://localhost/allocations/5e53a4f0-06a4-4e18-bd2d-967cd32d9653", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.220818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.083560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeServiceStepsTestCase.test_set_node_service_steps [0.388359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.108497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_304_nodes_allocation_get_member [0.460267s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-138e96e1-da78-434d-ab7a-46ea959372cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9cbdd0c4-1d1c-4be0-bcec-5964cb5297ee", "created_at": "2024-03-19T00:23:56.277484+00:00", "updated_at": "2024-03-19T00:23:56.320096+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9cbdd0c4-1d1c-4be0-bcec-5964cb5297ee", "rel": "self"}, {"href": "http://localhost/allocations/9cbdd0c4-1d1c-4be0-bcec-5964cb5297ee", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.096247s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.067331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps [0.250562s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_305_nodes_allocation_get_reader [0.190377s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a94468e1-f426-4027-80a4-16f01c7fa416 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "db5c27c1-bd8f-49db-9802-035450b5e2f6", "created_at": "2024-03-19T00:23:56.714743+00:00", "updated_at": "2024-03-19T00:23:56.734393+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/db5c27c1-bd8f-49db-9802-035450b5e2f6", "rel": "self"}, {"href": "http://localhost/allocations/db5c27c1-bd8f-49db-9802-035450b5e2f6", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.080170s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_306_nodes_allocation_delete_admin [0.101662s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54dc7b04-e03c-47ec-9e8a-fa92063e85cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_only_enabled [0.209557s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.272486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_fail [0.096963s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.105603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_307_nodes_allocation_delete_member [0.332198s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-420a8df7-eb25-4e42-9be9-4dc6cdb6a109 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_off [0.194090s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.055261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.351979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.043657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_ok [0.311385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.081979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.151604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_unsorted [0.196497s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.065941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_308_nodes_allocation_delete_reader [0.693763s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e26f3a2a-17ae-4a16-a0d2-2125e36a933d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.066967s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.055632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_309_deploy_templates_post_admin [0.103795s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/5dae2150-3a38-4e10-a772-3f0549abbfb4 DEBUG util.py:445: Openstack-Request-Id: req-0e521158-20b8-48e5-9138-b9dcc1c7feaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5dae2150-3a38-4e10-a772-3f0549abbfb4", "created_at": "2024-03-19T00:23:58.010367+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5dae2150-3a38-4e10-a772-3f0549abbfb4", "rel": "self"}, {"href": "http://localhost/deploy_templates/5dae2150-3a38-4e10-a772-3f0549abbfb4", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.042961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.047897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_310_deploy_templates_post_member [0.097718s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-733ee721-612a-4d07-8eb7-1e0ca04bb6ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.051195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.058741s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test_execute_verify_step [0.434161s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.057337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_311_deploy_templates_post_reader [0.150375s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-465ca4db-9c19-4858-b8c9-dceb53bfbbc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.065343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_312_deploy_templates_get_admin [0.098738s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71f9c838-e2de-4c2f-889d-b4b0c8960062 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "477affba-aca6-4e72-a31e-0751a960dc5d", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/477affba-aca6-4e72-a31e-0751a960dc5d", "rel": "self"}, {"href": "http://localhost/deploy_templates/477affba-aca6-4e72-a31e-0751a960dc5d", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.076049s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_313_deploy_templates_get_member [0.085519s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cac03ac9-f857-4590-825b-179e9834d357 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "d1667283-f6b8-4b20-8c3e-e57240b52ac3", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/d1667283-f6b8-4b20-8c3e-e57240b52ac3", "rel": "self"}, {"href": "http://localhost/deploy_templates/d1667283-f6b8-4b20-8c3e-e57240b52ac3", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.067165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.054620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_314_deploy_templates_get_reader [0.106429s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1cb2530-3d87-42f8-903a-cc248ac2344c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"deploy_templates": [{"uuid": "b641d474-91d3-42a5-9ff4-00fa3109e02b", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/b641d474-91d3-42a5-9ff4-00fa3109e02b", "rel": "self"}, {"href": "http://localhost/deploy_templates/b641d474-91d3-42a5-9ff4-00fa3109e02b", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.062144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_off [0.391814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.071688s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_315_deploy_templates_deploy_template_id_get_admin [0.102407s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/608fe67b-3631-403f-b829-10f1b8ff3537 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c17bd551-3305-418d-97cb-a715268db6e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "608fe67b-3631-403f-b829-10f1b8ff3537", "created_at": "2024-03-19T00:23:58.616355+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/608fe67b-3631-403f-b829-10f1b8ff3537", "rel": "self"}, {"href": "http://localhost/deploy_templates/608fe67b-3631-403f-b829-10f1b8ff3537", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_316_deploy_templates_deploy_template_id_get_member [0.095593s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/42e53ec0-f857-4f8e-a3cd-1c866be1a139 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8272c453-22af-4370-9f27-a5771655b15c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "42e53ec0-f857-4f8e-a3cd-1c866be1a139", "created_at": "2024-03-19T00:23:58.724183+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/42e53ec0-f857-4f8e-a3cd-1c866be1a139", "rel": "self"}, {"href": "http://localhost/deploy_templates/42e53ec0-f857-4f8e-a3cd-1c866be1a139", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.117705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.061121s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_317_deploy_templates_deploy_template_id_get_reader [0.095607s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/4c01c9cd-31d5-4ad6-ad5a-13fe51187a55 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c3f7488-d81e-4cb7-a608-da975b1c2b6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4c01c9cd-31d5-4ad6-ad5a-13fe51187a55", "created_at": "2024-03-19T00:23:58.821304+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4c01c9cd-31d5-4ad6-ad5a-13fe51187a55", "rel": "self"}, {"href": "http://localhost/deploy_templates/4c01c9cd-31d5-4ad6-ad5a-13fe51187a55", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.057667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.046209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_318_deploy_templates_deploy_template_id_patch_admin [0.102188s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/96945aa0-9a8d-4420-89b1-a60f4ac65b43 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a44a505f-b3b9-462b-be83-d2473ef06b1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "96945aa0-9a8d-4420-89b1-a60f4ac65b43", "created_at": "2024-03-19T00:23:58.905191+00:00", "updated_at": "2024-03-19T00:23:58.948501+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/96945aa0-9a8d-4420-89b1-a60f4ac65b43", "rel": "self"}, {"href": "http://localhost/deploy_templates/96945aa0-9a8d-4420-89b1-a60f4ac65b43", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_319_deploy_templates_deploy_template_id_patch_member [0.078589s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/85b15c72-3dbc-4bb5-83cc-42fb15a942d6 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afd4b201-1f2c-4c19-9fd5-ac7cb8e65548 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_on [0.421333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_320_deploy_templates_deploy_template_id_patch_reader [0.152460s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/1f5fd4a1-33ea-45ba-879c-f5be2cff26ef WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0e6ff93-b10f-4b95-90f9-f6e70666fd14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.276879s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.046860s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.049910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.066576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_321_deploy_templates_deploy_template_id_delete_admin [0.203514s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/d4bb4765-0fc8-4440-b8f7-0c229932c9e8 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-2affe3fb-9fd3-491a-bc08-d0a8f81c94fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.055037s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.066725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_322_deploy_templates_deploy_template_id_delete_member [0.121178s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/ef619625-5ef2-4360-9089-ca03d0d7adbd GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc889ec0-878f-4058-9e5a-5eb69b11cded DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_reboot [0.477677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.046516s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.044074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.051647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_323_deploy_templates_deploy_template_id_delete_reader [0.124775s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/98b9bd73-31c5-4f3f-bcdf-5d139fdb8d7c GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5670ca91-bb65-49c2-a467-295d8751d621 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.165447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.060131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.088612s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_324_chassis_post_admin [0.160510s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/d7fdb138-81eb-4171-8dde-9dcc4c54e5db DEBUG util.py:445: Openstack-Request-Id: req-e6da518b-0af9-4a0d-bc13-2db1aebf7502 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d7fdb138-81eb-4171-8dde-9dcc4c54e5db", "created_at": "2024-03-19T00:23:59.799937+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/d7fdb138-81eb-4171-8dde-9dcc4c54e5db", "rel": "self"}, {"href": "http://localhost/chassis/d7fdb138-81eb-4171-8dde-9dcc4c54e5db", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/d7fdb138-81eb-4171-8dde-9dcc4c54e5db/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d7fdb138-81eb-4171-8dde-9dcc4c54e5db/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_325_chassis_post_member [0.102741s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e347e36-b65d-4cdb-b1ea-f6146ec69440 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.119134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.303869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.092664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.034797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_326_chassis_post_reader [0.151113s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c48a5f54-9753-43c6-815a-aabc58104ee0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.024569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.088775s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.070045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.282479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_327_chassis_get_admin [0.222254s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34d237dc-abca-4df9-a194-190ccbee3c5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.175789s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_328_chassis_get_member [0.157564s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08d96ef2-5598-4402-93e7-ab29adc61a3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.188560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.160155s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.155966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off [0.134717s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.061057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.084472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_no_fast_track [0.057572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.213203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.098504s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.277333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_329_chassis_get_reader [0.467369s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4208b188-9ccb-4135-b465-a6b4fc052ef1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.093031s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.124931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_330_chassis_get_service [0.216632s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-434683b9-6e8c-414c-b9fe-78a9c18b4f4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_boot_mode [0.250618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.068574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_secure [0.082124s] ... 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.074537s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.068711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.082443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.103461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.117729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_331_chassis_detail_get_admin [0.300930s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f1bbf59-47bf-461a-ac01-2cb115af100a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:24:01.305468+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: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.111221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.133422s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.145550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_332_chassis_detail_get_member [0.312289s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39a975e2-c34a-4927-869e-9c8747261770 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:24:01.687600+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: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.173103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_333_chassis_detail_get_reader [0.096965s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-490ca3dd-3648-4072-9fcc-eff30e292558 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:24:01.807139+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.290650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_334_chassis_chassis_id_get_admin [0.069141s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80b21210-3925-4b70-ac34-5929de1cd468 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:24:01.889396+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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_335_chassis_chassis_id_get_member [0.084990s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4fd8076a-59f5-403a-b819-c495ce22db5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:24:01.969171+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.199751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_336_chassis_chassis_id_get_reader [0.066588s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb926200-2e68-4e17-95e8-70675f5887ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:24:02.046729+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: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.264123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_337_chassis_chassis_id_patch_admin [0.108870s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba094af4-4704-4812-8320-15d54426e271 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:24:02.143936+00:00", "updated_at": "2024-03-19T00:24:02.176473+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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_338_chassis_chassis_id_patch_member [0.096803s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e686e81c-12ca-4fb5-9f77-7d234e0032df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-19T00:24:02.242706+00:00", "updated_at": "2024-03-19T00:24:02.274450+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: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.315813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_339_chassis_chassis_id_patch_reader [0.146697s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccf08cde-194e-4899-a042-ee8a15a7b972 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_service [0.469337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.219721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_340_chassis_chassis_id_delete_admin [0.185940s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-cc8bb2cb-6ddf-4216-90bd-51f3b89d2f7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_341_chassis_chassis_id_delete_member [0.224971s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da8de2c4-90a3-4c29-86a7-c5447726585d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.256818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.293956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_342_chassis_chassis_id_delete_reader [0.192571s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7da2ac4a-7155-43ea-b822-bce0e55c34db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 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: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.202850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.225947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_343_chassis_chassis_id_delete_service [0.135560s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-109c707e-e3ff-432e-83d6-77b31e6830d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_344_node_history_get_admin [0.271521s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f08eef0-69d8-4013-86c2-fb8ce8728bf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "7b607392-7b15-4389-8d37-c5dad6b6ee17", "created_at": "2024-03-19T00:24:03.388374+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7b607392-7b15-4389-8d37-c5dad6b6ee17", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.395290s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.441802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_345_node_history_get_member [0.167534s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1b7bcfa-0921-4ac1-bb47-5ddcf035dd61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "35527198-0471-4a9f-9034-27d45413d324", "created_at": "2024-03-19T00:24:03.562016+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/35527198-0471-4a9f-9034-27d45413d324", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info [0.206634s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.210158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info_string [0.127677s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_346_node_history_get_reader [0.222781s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2be69305-c97b-4792-bdb8-3274e2350cbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "f5e29426-84e5-4f4e-8a56-5678c2cdb63b", "created_at": "2024-03-19T00:24:03.799439+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f5e29426-84e5-4f4e-8a56-5678c2cdb63b", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.089823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.050675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service [0.294600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_347_node_history_get_service [0.279411s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffda6252-f570-46d6-a56b-5be4f52e0ec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"history": [{"uuid": "ef0c19c3-b231-4bed-a4af-dcc8a90a8861", "created_at": "2024-03-19T00:24:04.040204+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ef0c19c3-b231-4bed-a4af-dcc8a90a8861", "rel": "self"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service_service_error [0.186633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.115190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.443712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.065701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_348_node_history_get_entry_admin [0.306659s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/eef18bda-b658-499c-b0ac-ebea9c3d4477 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4604e8df-a07a-4e88-9a53-f44a86437abb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "eef18bda-b658-499c-b0ac-ebea9c3d4477", "created_at": "2024-03-19T00:24:04.326647+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/eef18bda-b658-499c-b0ac-ebea9c3d4477", "rel": "self"}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.126285s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.219051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.073942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.053877s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.082248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info [0.165396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.036567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.052022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.037507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.030551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info_string [0.172780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_non_image_deploy [0.029111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.084382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.109196s] ... 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.264356s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_anaconda [0.136669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.049953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_349_node_history_get_entry_member [0.835671s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/52d4f2e5-cd2c-44cb-83b5-fbead4f05991 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f50d089-69a5-4b3d-bd4a-ed780364cd1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "52d4f2e5-cd2c-44cb-83b5-fbead4f05991", "created_at": "2024-03-19T00:24:05.238922+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/52d4f2e5-cd2c-44cb-83b5-fbead4f05991", "rel": "self"}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.054473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.273001s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.028678s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.106229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_350_node_history_get_entry_reader [0.212652s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1ceeceb3-8618-4391-9deb-3d63af1f763b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9338fb5f-72f4-42fd-b4a7-7936fdd97d8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1ceeceb3-8618-4391-9deb-3d63af1f763b", "created_at": "2024-03-19T00:24:05.371928+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/1ceeceb3-8618-4391-9deb-3d63af1f763b", "rel": "self"}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.070207s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.070669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_351_node_inventory_get_admin [0.104660s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2d55691-d810-42da-86bd-520b2fe4f94e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.083972s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_352_node_inventory_get_reader [0.099611s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ede78007-d5d1-4dd5-a854-121f9c5c1dff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.060116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_anaconda_deploy_image_source [0.042970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_353_node_history_get_entry_service [0.070742s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/2bae5668-0166-4bbc-8965-bdf7c635da9c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94564fdd-8306-411e-af12-08688516e386 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2bae5668-0166-4bbc-8965-bdf7c635da9c", "created_at": "2024-03-19T00:24:05.739989+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/2bae5668-0166-4bbc-8965-bdf7c635da9c", "rel": "self"}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.041310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_354_shard_get_shards [0.077817s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/shards WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09017065-a10b-4f5e-a092-b034f01cb334 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"shards": [{"name": "None", "count": 3}]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.539779s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.069429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.053058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.046437s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_355_shard_patch_set_node_shard [0.238992s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/shard', 'value': 'TestShard'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47a0739b-00b9-46c6-88b8-2c30cd7cb315 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.405451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_356_shard_patch_set_node_shard_disallowed [0.219210s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/shard', 'value': 'TestShard'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fa56760-0d92-4a95-bee1-9a12e8b7dc74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:shard\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.100570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.068745s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.060112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.547180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.083351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_357_parent_node_patch_by_admin [0.276570s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/parent_node', 'value': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-715c42ec-d61a-467a-8aae-98a6f2945fa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.070171s] ... 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.068503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_local_boot [0.214147s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_358_parent_node_patch_by_member [0.185131s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/parent_node', 'value': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000'}] GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32d2b43d-b25a-40f4-8332-8f9ab59febd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.077378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.087908s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.143792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_keep_last_error [0.057471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_359_parent_node_patch_by_reader [0.181551s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/parent_node', 'value': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000'}] GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a741b57d-9961-4016-827e-4b26e254cfcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.081026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_already [0.077240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.073021s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.293397s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.109050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.085289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.112193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_360_nodes_firmware_component_get_admin [0.453426s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de416e3c-ffe5-499d-aa00-28c34b4b7397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"firmware": [{"created_at": "2024-03-19T00:24:07.192359+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.164347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.151491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.150962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.090670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.325117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_361_nodes_firmware_component_get_member [0.392914s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3646feb0-3293-4f55-9637-a45e02ed403f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"firmware": [{"created_at": "2024-03-19T00:24:07.524024+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.149372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_part_already_exists [0.127795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.183301s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_redfish_kernel_param_config [0.218082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.094512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.148475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.052818s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_362_nodes_firmware_component_get_reader [0.574576s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83fe9310-664a-4a68-8d90-89dade9f652d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"firmware": [{"created_at": "2024-03-19T00:24:08.182590+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.023253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.025986s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries [0.314254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.026713s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.202167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.068383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.027209s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/bad/path WITH {} 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: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_auth_token_info [0.037997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.147961s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.078697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_404_exception [0.303410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.239948s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.337986s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_fail_exception [0.261760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.119905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.132638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.081699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.102477s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_fail_exceptions [0.191007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.043420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.032555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.211864s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:445: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:445: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.061423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.181251s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.111903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_allocations_table_latin1 [0.177459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_allocations_table_myiasm [0.032382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.102700s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_allocations_table_myiasm_both [0.026265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_allocations_table_ok [0.022256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.264108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.094361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.104473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.107170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.083064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.149437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.104421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.107426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.444466s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.097015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.069384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.120266s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.043097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.106456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.087840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.093198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.037891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.128066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.026071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.086466s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.193978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.063262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.077278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.205307s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.064695s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.022824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.118454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.032059s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.018947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.017656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.021804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.033881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.212005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.046233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.165983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.036079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.033506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.032973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.155750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.119403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.335241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.118224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.253149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.151136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.076483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_ensure_boot_interface_is_not_http_enabled [0.257926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.062853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.120811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.093189s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.176160s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.080554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.210560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.109357s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.069438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.185997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.075701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance [0.287333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.076497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.059172s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.195396s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.080818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_active [0.278205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.079304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.130705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.978545s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.095370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.365170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.094643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.073962s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.349290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.106212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.159787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.073690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.067048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.097358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.109030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.138956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi_bios [0.280308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.302951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.115564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.137576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.136520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.140774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.211740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.272363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.203056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.230528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.226953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.118069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.057961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.207445s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.081280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.177925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_bios [0.302877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.083791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.081020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_service_token [0.034913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.025571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context_with_environ [0.030533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.033105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict_older_api_server [0.046893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.257633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.074702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.042504s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.028301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.863996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_dict_get_auth_token_info [0.029316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.051546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_with_kernel_arg [0.463676s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.096945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_with_fallback [0.081136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.092913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.247297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_fallback [0.050111s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.129979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.032258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.032919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.427508s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.214204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.133753s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.032428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.055388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.147435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.066067s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.136332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.156950s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.123047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.356270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.098448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.057575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.243946s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_cannot_migrate [0.077238s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.259544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_cannot_migrate_some [0.069857s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.150599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_migrate_all [0.036155s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.297808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_migrate_with_limit [0.043204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.092912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.025032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.048144s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.165101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.031255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.115366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.030583s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.028054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.079387s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.043377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.040881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.188411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.133552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.086261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.347282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.117462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.090052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.125980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.073903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.056108s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.174910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.083332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.069711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.135392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.143448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.118735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.060292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.108867s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.092006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.378313s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fallback_defaults [0.085837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.108500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.464059s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.108247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.149013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.100237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.079461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.103765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.165031s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.131933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_inventory.DBNodeInventoryTestCase.test_destroy_node_inventory_by_node_id [0.212119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.100443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.116494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.149608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.035217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.040906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.173806s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.101920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.038966s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.033854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.103771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.052107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_all_match [0.135242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_inventory.DBNodeInventoryTestCase.test_get_inventory_by_node_id [0.340596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.057919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_first_match_on_skip_list_use_second [0.074719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.067713s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_shard.ShardTestCase.test_get_shard_empty_list [0.103725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.040519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_incorrect_hint [0.078303s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.198784s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.059261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_local_gb_without_spacing [0.091409s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.074043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.060082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.047294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.024829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.107029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.027177s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_shard.ShardTestCase.test_get_shard_list [0.245140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.030313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_no_hints [0.169563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.064679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.036793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.029538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.027623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.025987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.101724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.021180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.027240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_one_matches [0.190036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.241901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.126224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.142274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.161238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_root_device_skip_list [0.213638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.280512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.066977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.031555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.028368s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.135680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.044320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.104477s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.035526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_size_invalid [0.169061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.049230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.116793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.043121s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.168068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.042677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.067067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.041996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_size_string [0.191390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.040000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.088499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval_not_happen_sqlite [0.030755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.136594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.027400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_external_ip [0.034682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.079979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_external_ip_node_override [0.046480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_zero_size [0.173008s] ... 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.081541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_local_copy [0.071566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.201268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_local_link [0.074425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.268239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_local_link_no_restorecon [0.205605s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.106969s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.332113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_unpublish_local [0.137953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.095678s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_with_filename [0.033193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_with_qs [0.031598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client [0.590432s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.179366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_without_qs [0.070254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.108777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.035587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test_publish [0.051723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test_unpublish [0.059823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.055707s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.187347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.023657s] ... 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.175003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.027105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files [0.039715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_no_esp_imageimg [0.030966s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_with_ExecutionError [0.019644s] ... 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.118360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.157953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fails_no_grub_cfg [0.025748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.034230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.024641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.023778s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.027682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.024933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.151570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.078328s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance [0.205303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.109467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.088564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_active [0.138309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.222340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.082106s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.027840s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.096164s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.230912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.159641s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.229253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.071133s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart_bios [0.226476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.083624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_lenovo [0.060951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.081025s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.228450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.191047s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.136366s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.110541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.202365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.072995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.369519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.183319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_bios [0.322923s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.195755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client_connection_problem [1.921633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.186881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.218551s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.107446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.330373s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.174091s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.108486s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.029617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client_standalone [0.460811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareAbortTestCase.test_abort_error [0.027387s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareAbortTestCase.test_abort_ok [0.028703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.202280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.182629s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.044830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.199015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.047078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.040486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue_bios [0.113980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.045595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.098336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.052969s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.112585s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.134137s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.086307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.326722s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.080615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.088269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.178092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.236620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.168363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.120446s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.083321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.242570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.079536s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.163083s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.156612s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.253681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.803226s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.119101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.038463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.104360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.030781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.024859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_ipmi [0.186634s] ... 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.881788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.114041s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.197476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.134553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_redfish [0.257713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.042951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.028722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.025298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.039195s] ... 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.134366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.025997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.263789s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.024404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.027941s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.145548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.232175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.546825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.103342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.239299s] ... 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.087488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.027618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.025284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.113484s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.022263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.035643s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.137160s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.105169s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.109250s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.271088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.124866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_insecure_heartbeat [0.083024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_source_path [0.067375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.041206s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.244955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.059774s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.278409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.047239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.145427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.058811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.070639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.039112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.235760s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.221676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.105384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.046052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.063697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.140237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.051654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.040922s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.067725s] ... 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_with_fgi_status_none [0.659501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.063311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.065885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.042437s] ... 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.116384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.214481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.074895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.128782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.073823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.064954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.062277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.143084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.116139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.084501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.297128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.131482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.049733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.100354s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.146370s] ... 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.035392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.038477s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.087282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.083397s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.168737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.223138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.137410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.067943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.063855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.080341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.386746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.191719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.052343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.043356s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.135170s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.112987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.201559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.266377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.047517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.135540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.214790s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.065719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.061564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.118418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.174944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.256567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.096479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.087189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.321777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.085638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_non_local [0.170747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.112113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.078177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.049461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.239991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.163934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.140567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.165147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.360063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.069612s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.046905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.179538s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.069627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.365317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.090269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.156715s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.097675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.105842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.631460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.267696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.162880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.031946s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.159272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.043185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.041668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.083013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.027038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.333327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.060491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.307108s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.306630s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.081539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.036145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.033418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.149424s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.088955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.261333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.136859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.173936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.433797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.152950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.040034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.199939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.054815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.076872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.054405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.042081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.319376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.067230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.495763s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.068883s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.068124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.041738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.062314s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.044847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.043056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.058087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.029424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.066273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.074188s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.065264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_clean_step [0.068257s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.093347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.239390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.051739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_verify_step [0.132558s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.081714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.067073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.047045s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.067326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.102576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.155774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.669008s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.143737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.120500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.040362s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.094369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.136515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.060134s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.138171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.063723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.407321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.121184s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.047183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.147306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.547533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.071128s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.090500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.113863s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.071312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.096607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.313836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.470542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.075965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.453134s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.108129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.064538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.213946s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.066236s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.039648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.263356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.261809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.474203s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.705438s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.043441s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.031253s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.152480s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.033082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.042997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [1.034875s] ... 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.167879s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.264563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.144198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_clean_step [0.135659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.093225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.128503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.148018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.063656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.062256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_verify_step [0.176382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.053472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.151029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.188220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.056590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.043533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.136893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.031933s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.120012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.035654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.069998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.047458s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.051216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.153748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.149500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.059419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.067583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.051212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.030595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.377564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.032246s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.038388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.041899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.116429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.187339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.054678s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.117754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.122658s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.075532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.052937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.122536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.374060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.117852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.042971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.223631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.085842s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.053327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.053582s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.170278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.045878s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.078400s] ... 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.226472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.262819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.181914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.167509s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.179772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.081364s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.181461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.035707s] ... 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.341036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.053130s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.378514s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.124664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.075798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.038275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.039493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.047072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.089652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.053056s] ... 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.288943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.206166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.115550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.082624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.083521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.135915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.143527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.191054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.170058s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.390260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.352904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.194853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.145896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.068033s] ... 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.281603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.097027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.201818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.076450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.132483s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.388649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.177766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.176863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.259268s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.148197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.208633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.069821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.139873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.054147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.179252s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.040370s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.439529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.063079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.143847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.077666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.361872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.179526s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.079792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.129824s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.174959s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.388157s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.544195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.125244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.175908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.160934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.152176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.046841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.191170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.033078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.286633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.029179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.025694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.037676s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.399741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_raritan_pdu2_snmp_objects [0.048142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.209862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry3_snmp_objects [0.077634s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.113995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.321863s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry4_snmp_objects [0.080332s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.036054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.051525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.369072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.085001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.246171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.054584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.029851s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.140968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.292830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.087115s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.032187s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_vertivgeist_pdu_snmp_objects [0.025326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.024638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.179253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.276947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.044875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.258755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.067223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.034549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.034222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.179937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.162095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.092822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.070857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.108913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.090593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.088147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.051656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.120829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.059143s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.042279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.097843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.433541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.032954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged_for_fake_node [0.035844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.027459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.224294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.040217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.050172s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.087299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.103804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.054240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.238255s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.046857s] ... 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.196721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.070399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.090006s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.061938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.046896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.194761s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.082077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.107725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.068164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.300357s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.077566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.066284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.101963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.361302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.057194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.128372s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.197769s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.483123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.121153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.716487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.142264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.211705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.289689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.092574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.118787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.075123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.206783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.189876s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.135332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.364407s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.150127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.152976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.207301s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.105504s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.156505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.154415s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.049550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.071293s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.060798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.387107s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.222881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.090469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.147665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.104835s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.214710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.105938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.276724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.093507s] ... 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.371890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.208419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.135684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.247909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.224683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.112434s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.203652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.303277s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.151080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.593165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.461057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.150992s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.301183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.192611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.219362s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.196621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.064122s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.228747s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.177455s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.150332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.156725s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.295951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.383979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.205573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_parse_sleep_range [0.238044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.122657s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.117015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.283462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.143664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.145083s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.203141s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_sleep_one [0.233235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.665741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.106112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.109546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.155716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.143926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.137057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_sleep_range [0.283020s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.086969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_drain_has_reserved [0.080591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.149677s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_shutdown_timeout_reached [0.056461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.075016s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_sleep_zero [0.142779s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__has_vmedia_device [0.038397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_start [0.073781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__has_vmedia_device_inserted [0.057451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_start_failure [0.066075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_already_inserted [0.060010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew [0.066031s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_start_no_rpc [0.157223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew_dvd [0.064643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.301225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.267931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew_dvd_retry [0.083855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_after_full_reset_interval [0.091380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.103891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_bad_device [0.061234s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_after_remaining_interval [0.095204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_has_reserved [0.077808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.145353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.307023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_instant [0.055941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_slow [0.056997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_while_ejecting [0.254364s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.122523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_everything [0.047691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.180285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_from_all_resources [0.058102s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.145524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_not_inserted [0.069740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.107892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.151954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.258927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_specific [0.145731s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.177165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.287702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.270681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_unknown [0.227209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.087825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.128720s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.096423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_with_dvd_cisco_ucs [0.175367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.084209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.057365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.463408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.145886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.215265s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.058656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.049421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.066613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.167141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.190630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.051278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.071109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.150245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.061192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.065263s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.052328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.088898s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.159677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.078641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.323915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.101975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.178080s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.096466s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.211293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.104636s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.220003s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.159927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.175866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.165497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.078985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.148529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.048642s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.059198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.063062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.100908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.052774s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.273565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.091572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_password [0.168316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.163418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.059913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.084956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.052488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.127129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.058130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.179093s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.055202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.098530s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.217210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_reserved_options [0.065873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.055565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.064394s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.065587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.042871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.094737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.261082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.118792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.053801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.066567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_glance [0.061529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait [0.115775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver [0.070389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.194481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait_time [0.089962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.063788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait_time_to_long [0.059950s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.059706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.036656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.221160s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.144262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.038396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.057573s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.055939s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.059821s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.137273s] ... 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.040823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.058285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.121918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.047418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.064520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.048957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.080636s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.143843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.056063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.059394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.201019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.037561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.054111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.044575s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.029833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.053551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.032432s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.099282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.048399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.145564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.054725s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.037489s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.027759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.130207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.057829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.052110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.190584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.040843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.037790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.039215s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.229398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.080799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.034329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.064895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.030872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.045586s] ... 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.028853s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.093689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.032302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.039004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.144497s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.083185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.045345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.040967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.034777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.035005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.240759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.183872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.047887s] ... 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.029989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.037224s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.209290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.066524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.034848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.100767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.031503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.066571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.039514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.030295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.060597s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.039032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.115778s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.031555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.058032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.218375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.054038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_no_token_info [0.033463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.079792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.152357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_returns_project_id_if_present [0.037219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.046380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.047591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.044604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.053139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.024489s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.074355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.020804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.204221s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.020261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.067499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.303040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.195416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.069161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.240278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.293484s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.045426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.073970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.263786s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.064811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.085475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.084040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.063455s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.239970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.069638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.106758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.139545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.067116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.040701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.382386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.189798s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.035435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.250650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.032734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.095705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.050468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.177034s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.068880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.053385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify [0.189655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.188973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.108968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.167211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.268962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.310680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.143955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.137694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.032117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.183868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.021426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_servicing [0.104111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.138287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.132846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.132205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.033540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.081468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.169308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.088094s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.212518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.103973s] ... 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.113635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.085640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.060818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate [0.136396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.098910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.106106s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.027564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.031270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.051060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.261714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.043421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.042707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.050108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.087619s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_lenovo [0.056462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.134337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.035649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_fileurl [0.229702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.065700s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.053581s] ... 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.046923s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.047875s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.131312s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.043562s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.063780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_httpurl [0.175758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.069097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.057572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.039419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.142688s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.032339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_url_exception [0.128994s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_bios [0.107098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.050653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.077530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_bios [0.057217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.046254s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_uefi [0.069373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.128087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.191339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.099965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.062095s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.050239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.039425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid_bios [0.077109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.144074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.120302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.042449s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.057438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.102810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.040107s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.046646s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.199942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.165796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.040277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.047133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.157108s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.104508s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.053351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.056325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.057757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.246317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.042080s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.213620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.067265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.093653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_create_csr [0.297656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.060786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.112264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image_bios [0.136112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.054489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.081397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.181490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.089603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.116217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.198331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.091896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.120797s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.173869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.117675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.124758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.108638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.045188s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.054730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot [0.151244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.062960s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.123220s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.287697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.194064s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.112088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.171282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.105319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.149210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.065294s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.026936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.027852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.048235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.037533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.216658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.548453s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.245632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.089375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.093457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.120327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.099948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.067617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.151930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.131255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.107626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.177020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.062059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.366954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.112579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.143567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.232779s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.030998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.177677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.201161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.218460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.144639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.090309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.204135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.569185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.077301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.077247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.084423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.234014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.236850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.801685s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.116039s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_supported_missing [0.033511s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_supported_set [0.025108s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.116894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.262653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_missing [0.072379s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.076203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_no_remove_default [0.081689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.053944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_no_remove_non_default [0.066557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.187178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.067292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.080544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_remove [0.161859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.077235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.073230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.062110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.057948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.051555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.685187s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.042667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.033233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.036237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.104350s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.036025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.137668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.087511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.502109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.074292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.133701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.326830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.109491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.117912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.363726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.053981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.486731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.137671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.111254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.068637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.119817s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.065103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.236617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.139239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.104563s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.069488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.156489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.045456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_servicing [0.127714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.069291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_servicing_fails [0.091342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.103676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.047942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.145723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.108091s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.396205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.060577s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.148029s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.168960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.159742s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.126088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.216252s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.051407s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.125577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.098918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.115510s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.060288s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.077795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.234280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.056381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.027798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.089502s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.059015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.401340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.056246s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.161236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.090988s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.290309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.092867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.137934s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.285190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.086366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.113658s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.214372s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.071583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.130450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.204926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.097015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.096074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.117352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.099450s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.070775s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.028872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.295562s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.071382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.049821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.058815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.086311s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.026924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.033308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.177585s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.039133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.278173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.108801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.068639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.235262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.077454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track_via_driver_info [0.166585s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.097867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.145397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.067067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.102653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.155511s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.047844s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.096488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.088484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.172380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.072506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.110019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_when_appropriate [0.340581s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.065516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.068925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.086222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.081115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.201520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.207038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_firmware_component_list_after_destroying_a_node_by_uuid [0.077300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.112625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.039575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.070811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.165601s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.093412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.104645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.042360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.094687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.327387s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.078607s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.073984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.203313s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.104631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.043839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.069811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.184413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.082793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.105764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.084607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.056740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.155177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.335308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.114458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.206999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.163974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.098807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.138836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_service [0.193704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.125884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.220713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.191124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.122516s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.252914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.079228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.194411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.116139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.081489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.269122s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface [0.146945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.107548s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface_overriden [0.100472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.249395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.142254s] ... 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.117314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.081373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.112734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.040766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.080990s] ... 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.085538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.230959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.053077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.190151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.120611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.267482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.065767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.099068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.125522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.086059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.036532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.051282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.096371s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.092936s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.191247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.320387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.052817s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.077352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.151837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.131504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.260436s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.079281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.074932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.060908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.147393s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.103910s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.078160s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.072512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.215219s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.252484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_minimum_password_length [0.078774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.114200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.113280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.171780s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.127690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.243301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.169263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.140608s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.109370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.136177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.033289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.127070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.150396s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.056447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.154901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.085943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.064946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.049286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.164642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.147448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.091844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.091851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.023487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.067439s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.062620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.099013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw [0.148362s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.164445s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.088587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.072202s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw_keeps_md5 [0.247145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.208592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.063304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.037669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.029116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.028233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.023273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.027554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.225986s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.021592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.021682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.033281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.021541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.024332s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.030030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.138045s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.043373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.029352s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.021514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.097866s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.601100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.031836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.061809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.065840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.059536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.028796s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.020484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_already_raw [0.081443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.027567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.095643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.032525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.040847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.041326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.104282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [1.267238s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.077798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.034767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.114323s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.054527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.313236s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.078640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.058138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.087360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.041156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.065071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.025504s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.026064s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.030426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.317386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.095715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_boot_iso_only [0.026361s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.047733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.126989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.043684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.pxe_filter.test_service.TestManager.test_init_and_run [0.039540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.041598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image_anaconda [0.027770s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.100638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.026667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.026890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.030294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.072475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.035550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.030263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_inventory_get_destroyed_after_destroying_a_node_by_uuid [0.340389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.060756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.134236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.056033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system [0.108794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.083586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.054413s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system_exception [0.110798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_inventory_updated_for_node [0.277283s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.072412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image [0.026310s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_large_url [0.029428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.095384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_linkfail [0.051272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_raises_memory_guard [0.037174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.035668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.026817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.021752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.179326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.035088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_node_provision_state_count [0.307532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.027380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.031223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.028291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_create_subscription [0.108861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.024694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.025812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.021924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_operation_exeption [0.081522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.020554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.046256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_architecture.ArchitectureTestCase.test_architecture [0.097973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.046598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.030749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.028305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.041388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.372991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_boot_mode.BootModeTestCase.test_boot_mode [0.143445s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.050509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.043600s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.GetInterfacesTestCase.test_get_interfaces [0.095773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.045627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.131084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_active_interfaces [0.057067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.045517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.058316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_all_interfaces [0.034946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.043018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_no_pxe_fallback_to_all [0.033222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.064433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_defaults [0.040094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_nothing_to_add [0.029637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.041689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_pxe_only [0.031399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.048725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.040577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info_bios [0.050466s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.071581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.062906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_bios [0.044055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.066904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.044081s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.101818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_uefi [0.047543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.033320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.092849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.048843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.057336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_with_node_external_http_url [0.051271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.045715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node_reads_reservation_once_sqlite [0.067741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.039894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.193774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.044231s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node_reads_reservation_twice [0.081857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.048819s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.052917s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.071647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.043363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.038749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.045905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.055145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.086215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.038777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.088928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.115751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.175947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot ... SKIPPED: bug #2025424 DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.052793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.139331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.053229s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.055434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.110871s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.073316s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.072669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.113623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.304712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.101015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.173460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.153801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.055001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.215312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at_inspecting [0.145220s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.204794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.128140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at_inspectwait [0.093706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.082564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.079703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot ... SKIPPED: bug #2025424 DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.086474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.155950s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.334723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at_inspecting [0.097230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.476365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at_inspectwait [0.050841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.064430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_config_external_http_url [0.099576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.264005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.043056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.032204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.030052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.040565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_node_external_http_url [0.167847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.170312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.177899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.464775s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image [0.042625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_custom_cache [0.061159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.369510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.030527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_retries [0.651634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.059232s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_file [0.143179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.076803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_from_swift [0.147497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.100940s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.169078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_local [0.178604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.113744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.102561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_local_external_http_url [0.210929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.133073s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_swift_noop [0.166509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_swift_schema [0.118390s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_localhost_as_url_ignored [0.078660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_localhost_ignored [0.067972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.401593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ip [0.120332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ip_as_url [0.100770s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.168746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ipv6_as_url [0.057444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_redfish_bmc_address_ipv6_brackets_no_scheme [0.063005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_resolved_host [0.058268s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_resolved_host_in_url [0.026725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__get_inspection_data_from_swift [0.033770s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.200207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__get_inspection_data_from_swift_exception [0.084767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_retries_without_log_mock [1.659042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.038920s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__store_inspection_data_in_swift [0.112571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.095733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_db [0.140008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.074958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.050752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_db_exception [0.108494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.035857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.037930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.040606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_nostore [0.107840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_clean_dhcp_opts [0.097297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.665725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_get_ip_addresses [0.056659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_swift [0.173992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_update_dhcp [0.161688s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.089355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.061710s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.019594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.021750s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_swift_exception [0.322432s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.031276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.419615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.021912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.040670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.032018s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.036070s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.135070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.040119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.053723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.079512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.051410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.084534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.050792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.052802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_db [0.418959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.110352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.059221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.075951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.094849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.093992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.132227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.081613s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.146064s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.054376s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_nostore [0.413765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.061380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.189331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.065106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.028069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.062294s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_swift [0.356718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.181336s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.064641s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.076686s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.072791s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.068102s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc [0.400037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.034764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.054423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.104614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3 [0.067482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac [0.253053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.112922s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [1.090632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac_and_uuid [0.171899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.065201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security [0.094589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.054032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.137104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp [0.043746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.152375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.065060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.100162s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac_not_found [0.381602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.041628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.292495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_not_found [0.156633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_wrong_state [0.110066s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_mac_not_found [0.100820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.292166s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_mac_wrong_state [0.056832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_macs [0.063484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_macs_partial [0.045001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.145009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_unknown_bmc_and_mac [0.085682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.633112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid [0.048752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_and_unknown_macs [0.078099s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_not_found [0.064777s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_wrong_state [0.092652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.353960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_bmc_and_uuid [0.152635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs [0.113943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.664053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs_and_bmc [0.236784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs_and_uuid [0.074816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc [0.046171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc_and_unknown_mac [0.045447s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc_resolved_by_macs [0.058875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.461561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_no_input [0.291975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [1.281819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.602510s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [1.021300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.735181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.653007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [1.527722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.492336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.727543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.279870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.439408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.507864s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.733657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.620738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.453761s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.374386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.124750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.314182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.232151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.700030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.351775s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.317300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.339085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.324509s] ... 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.248185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_removed [0.172736s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.288239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.682128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.235353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.724019s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.868988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.859770s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.325781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.656622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.340637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.432700s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.344404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.380327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.439477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_ipmi [0.387266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.519966s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.475713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.204214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.430338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_redfish [0.597271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.566755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.417469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.394914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.283223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.380561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.130659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.047660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.054379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.075292s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ng_redfish [0.423077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.031964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.027974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.033837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.030818s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.030831s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.027624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.035222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.026806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.025308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok_bios [0.469465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.051404s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok_ipmi [0.376157s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.062867s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.051749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.054676s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.306638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.291550s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_ipmi [0.451575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.345911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.346132s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_redfish [0.405425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.333305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.682895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_ipmi [0.474647s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_redfish [0.257911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.528934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.135028s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_ipmi [0.212142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.612684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.243461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.265697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_redfish [0.390360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.136394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.331611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.298449s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.364390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.288651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.243154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.178386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.185166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.199445s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device_bios [1.487758s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [1.903272s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.245957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.175304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.339029s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.417309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.169524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.230489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.410295s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.343531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng_ipmi [0.340438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.294448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok_bios [0.568928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.397498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent_bios [0.245465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.216003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.267269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios_ipmi [0.766365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.305910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.409311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.213977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.170251s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.187412s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.188507s] ... 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.461029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.209019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.144832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom_ipmi [1.329280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.374971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_bios [0.124912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_uefi [0.167733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_bios [0.058336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_uefi [0.083245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.059635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.054139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.409049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk_ipmi [1.398496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.392030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [1.893421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.509572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.436120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.560953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.320443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.285622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe_ipmi [1.527351s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.316198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.349935s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.744759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.184430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_from_clean_step [0.110775s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_is_in_step_list [0.106397s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.117297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.100602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.097961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe_ipmi [1.188087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.041483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.742280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.073890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.049371s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.156616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.096099s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_fail_redfish [0.312589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.073990s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.136217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.182944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_success_redfish [0.396617s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.162552s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.496437s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.112696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.077967s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.215903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.121038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.087527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_fail [0.457962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.060166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.069837s] ... 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.083732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.071766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_success [0.443395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.685215s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.394017s] ... 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.252029s] ... 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.271266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_fail [0.743097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.802260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.355598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_success [0.605461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.282425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.527953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.122122s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.197578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_fail_invalid [0.537852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.312205s] ... 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.338078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.378004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.227055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_fail_missing [0.775089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.203224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.714085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.080412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes_with_http_method [0.053697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.039813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.055872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.057346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.056625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.066840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.047076s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.047308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.069884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_raise_http_success [0.740299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__exec_stop_console [0.068519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.062148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.088634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.045763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.072567s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.056661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.046377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [1.032335s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.045248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.037992s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.046507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_raise_https_success [0.554526s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.051882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.046108s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.046384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.070744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.395792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_success [0.649538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.762837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.543808s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.842387s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.648705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.197665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.325481s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [2.002788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.242615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.536750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.340188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.648886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.224839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.295233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.108204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.444115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.113816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.141449s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.123060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.367633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.185128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.200868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none_by_arch [0.162509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.102963s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.687275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.087536s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.170551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.093816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.218663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.114873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_http_boot_enabled [0.497146s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config_by_arch [0.294935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.243780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.158279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.171204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.109853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.268479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk [0.541138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.146954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.103549s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.165442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.261263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.195121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.163881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk_rescue [0.625129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.186995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.228613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.207134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.246418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk_uefi [0.433968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.244474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_http_boot_enabled [0.191437s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.202707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.094478s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.505410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.155953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_cleaning [0.137443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_deploying [0.160787s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.465923s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_rescuing [0.064185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.054918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.118023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk [0.848669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.082076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.458597s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.485901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.364438s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk_rescue [0.742461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.231906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.129732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.084788s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.395562s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.096962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk_uefi [0.521719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.183449s] ... 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.335199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.097441s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.131498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_http_boot_not_enabled [0.282690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.252499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.274632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.533907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.241997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.171754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.125606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.329333s] ... 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.256287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.225648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.221768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.153025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.262355s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy [0.259538s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.253970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.275036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.270936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_configdrive [0.389634s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.250493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.255737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.188842s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.246892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.252834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.115237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.218237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.767210s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.083093s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.259714s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.248960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.348418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.257839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.125770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.239836s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.205062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.190282s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.433493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.335029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare [0.312587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.081395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.079433s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.307193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.311029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.133230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.080043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.120557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.066339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.242499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate [0.151574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.243259s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.067255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.286705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.110623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.130515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.153212s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.152440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.057693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.259711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.173000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.152446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.052389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.029986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.044270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.040340s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.035964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.036290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.274849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.033884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.039090s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.532282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.148882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.132491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.036827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.088732s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.052390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_file_url [0.210008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.064758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.043349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.051548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.040442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.427184s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.032622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_raritan_pdu2 [0.037501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.046432s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_http_url [0.342063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.052351s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry3 [0.034515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry4 [0.025324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.031788s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.072550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.297488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.471193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.198946s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.033112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.046564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.237628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.058267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.085842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.557424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.038663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.033617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.043931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.023350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.026873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.105215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.024324s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.294861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.027526s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.026443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.032797s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.045442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.199077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.049374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.023320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.046475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.042073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.318788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.149501s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.081310s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.130326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_apply_time_attr [0.120877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.104659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.031947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.229640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.199679s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_vertivgeist_pdu [0.090626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.054424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.074964s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.129217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.039730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.053821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.190136s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.052218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.157132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.072671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.037319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.142512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.134176s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.108592s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.053124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.099302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.177007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.060144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.140786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.099461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.160886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.077920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.054493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.038374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.182739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.038853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.091132s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.028295s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.029579s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.029803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.030834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.112488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.169557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.039097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.299057s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.225698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.242683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.055337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.056755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.063533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.064066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.074015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.062544s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.214279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.049437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.358216s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.050009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.085158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.052408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.054912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.070321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_idrac [0.195442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.049761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.051525s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.085361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.387754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.212644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.063219s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.090976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.093697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.141682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.387266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.335572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.112396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.083528s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_bios [0.225759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.109907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.122522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_redfish_properties [0.066239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.033474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.271922s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_invalid_param [0.042774s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_no_param [0.047489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.035194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_sha256 [0.036417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.149219s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_sha512 [0.038471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.047674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.042910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.037480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.025527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_raid [0.191393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.031764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.029133s] ... 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.039269s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.068827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [1.082998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.024118s] ... 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.045932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.234766s] ... 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.046928s] ... 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.038470s] ... 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.037570s] ... 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.051909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.054428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.291024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.244642s] ... 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.042373s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.056959s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.067084s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.034210s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.199911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.021263s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.036248s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.041282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.022336s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.098189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.321961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.092980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_only_cdrom [0.124022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.320600s] ... 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.020388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.193899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.021109s] ... 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.026795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_ramdisk [0.208020s] ... 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.020559s] ... 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_missing_parameter [0.023272s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.020931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.022537s] ... 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.027981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_ramdisk [0.145822s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.088728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.073614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_deploy_info [0.147460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.393664s] ... 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.079103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.069872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.023042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_deploy_info_exc [0.150785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.040258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.031754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.032081s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.031461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.235099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.032587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_arch_deploy [0.146550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.035741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.046385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.030002s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.152796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.030060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_arch_rescue [0.154572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.037692s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.030788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.029008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.026966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.137242s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.058056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_deploy [0.168910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.068845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.067752s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.058834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_deploy [0.150349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.177687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.058969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.077757s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.099626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.083162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.068042s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.066366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.033528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.080467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_rescue [0.309556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.043480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.069739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.062845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.074303s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.085367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.055172s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.065371s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.079704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.034115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_rescue [0.326749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.082466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.094505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.078660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.056871s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.145411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.072363s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_deploy [0.241795s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.058734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.117834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_accelerators.AcceleratorsTestCase.test_accelerators [0.071639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_exc [0.148119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_memory.MemoryTestCase.test_memory [0.070975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_deploy [0.066272s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_all_valid_data [0.043896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.190352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_bad_value_linkagg [0.054928s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.170474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.161574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_bad_value_macphy [0.134675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.079418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_rescue [0.158957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.146305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.098455s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.141484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_iso [0.213214s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_chassis_ids [0.448108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_duplicate_tlvs [0.086316s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.211121s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_invalid_ip [0.054800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_multiple_interfaces [0.057136s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_null_strings [0.052576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_deploy [0.274566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_old_format [0.071848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.225039s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_truncated_int [0.050970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.121907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_truncated_mac [0.048555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_unhandled_oui [0.072904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.177689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_unhandled_tlvs [0.057586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node_inventory.TestNodeInventoryObject.test_create [0.051317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_multiple_new_root_devices [0.061349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_rescue [0.228069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node_inventory.TestNodeInventoryObject.test_destroy [0.049676s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_rescue_by_arch [0.069656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_ramdisk [0.038454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_new_root_devices [0.157142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_rescue [0.068124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_previous_inventory [0.175634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_local_boot_option [0.164361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_local_whole_disk_image [0.191727s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_serials [0.265565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_root_device_already_set [0.061440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.699608s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.027197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.023836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.051765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.039160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_root_device_found [0.218718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_normal_boot [0.351063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.049083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.075871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_ramdisk_error.RamdiskErrorTestCase.test_ramdisk_error [0.123678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.049549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.055467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot [0.197435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.056608s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.052896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_managed_ok [0.229987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.061929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.183806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.073198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.093712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.100549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.089587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_fast_track [0.054395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_managed_unversion_url [0.301834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.133811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.130050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.066273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_unmanaged_disallowed [0.143614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.187017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.084991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_no_debug [0.540751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_unmanaged_ok [0.321450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.147939s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_with_params [0.189496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.099636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_exception_ignored [0.204117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_boot_iso [0.062623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.142614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_check_inspecting [0.152624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_correct_vendor [0.160330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.072014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_finished [0.093841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.079835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_errors_with_lack_of_support [0.165379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_inspecting [0.105167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.108212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.027570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.045989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_inspector [0.162185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.058820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_boot_clean_up_failed [0.073003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.042386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error [0.030542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error_dont_store_inventory [0.033093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.066004s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_inspection [0.311444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error_managed [0.073797s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.110615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error_managed_no_power_off [0.110456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.108256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_kernel_ramdisk [0.231527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.033281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_network_clean_up_failed [0.114877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.038941s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.038061s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_local [0.104756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.031809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok [0.083353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.100125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_missing [0.210430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.086680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.119775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_managed [0.304931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.033310s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.040045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.202585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.057637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.067091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.043527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.179152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.050825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_managed_no_power_off_on_fast_track [0.069454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.062751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_store_inventory [0.057960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.182924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_store_inventory_nostore [0.053120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.093689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.104287s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew_dvd [0.048107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.095016s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew_dvd_retry [0.056906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.046290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.182932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.048137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.053109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.036591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.035867s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.208370s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.055350s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.056725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write [0.107104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.304846s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.045168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.069393s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_custom_ioerror [0.127695s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.092931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.172664s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.053204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_would_block [0.115521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.051211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.069025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_would_block_too_many_times [0.123601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_with_dvd_cisco_ucs [0.060835s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.232751s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__allowlist_mac [0.081284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.034962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.058920s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__allowlist_unknown_hosts [0.081664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.118901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_arch_deploy [0.051692s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__configure_removedlist_allowlist [0.076035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_arch_rescue [0.052980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_deploy [0.044137s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__configure_removedlist_denylist [0.067188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_deploy [0.095359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.233389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__denylist_mac [0.152723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_rescue [0.105193s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_rescue [0.039128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__denylist_unknown_hosts [0.091316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.043004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.210314s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.055931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_allowlist [0.117479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.051428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.061098s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.038859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_denylist [0.166814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.058084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.043844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_no_allowlist [0.069148s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.041858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.320869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_no_denylist [0.112867s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.161471s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.113673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.035523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.049153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.432211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.062884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.053780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue_by_arch [0.051332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_ramdisk [0.070088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.059612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.038622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.040538s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.180979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.964146s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.049224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.246341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.108421s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.039029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.140373s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.054908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.297826s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.080606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.139101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.082249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_driver_info [0.098459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.041969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.196608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.183892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.121742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.302503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.108935s] ... 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.105785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.243093s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.127274s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.058584s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.054724s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.190694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.094108s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.147698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.142216s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.103441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.226154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.078140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.200461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.216671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.126197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.080097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.176854s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.102905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.150649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.079516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.072077s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.053207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.047831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.043741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.130272s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.048112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.051404s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.053407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.117074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_node_firmware_update_done [0.076328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_node_firmware_update_fail [0.072407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.186377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.126914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_update_in_progress [0.321934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_error [0.043032s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.216737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_https [0.047787s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_swift [0.042114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_conn_error [0.068141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_update_still_waiting [0.069481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.244690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_update_task_monitor_not_found [0.073111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_update_wait_elapsed [0.070573s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.136871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_update_waitting [0.077371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_last [0.069567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_more_updates [0.061367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.197591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_create_all_components [0.130384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_empty_settings [0.088780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.233531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_get_properties [0.044425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.058278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_invalid_component_in_settings [0.095887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.078901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_all_components [0.074955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_bios_component [0.115673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.167181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_bmc_component [0.081860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_required_field_in_settings [0.063849s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.177762s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_simple_update_action [0.054663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_updateservice [0.063016s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_redfish_fw_updates [0.048474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_redfish_fw_updates_empty [0.046039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_validate [0.048273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.231828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.063461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.036022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.033155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu_arch [0.046660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.193133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.057043s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.086284s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.179283s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_count [0.059460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_frequency [0.055634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_instruction_set [0.067472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.173999s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_model [0.101117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.101447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.083427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.140515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.169409s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.077870s] ... 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.204877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.150960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.061963s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_simple_storage [0.486091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.264730s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_simple_storage_and_storage [0.092488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_storage [0.103153s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.178245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_system_vendor [0.071201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.070161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.082389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.214508s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.067509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.101751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.074123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.098158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.076285s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.430693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.080262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.070634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.071583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.297926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.133073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.081938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.185019s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.121749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.104604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.068503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.068731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.070944s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.388354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.067187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.111555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive_simple_storage [0.063693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive_storage [0.049895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.049514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.037158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.376464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.053912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.069892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.034953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.044138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.062012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_error [0.059352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.306081s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_https [0.072042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_swift [0.040562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.058789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.073483s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.041528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.267152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.077503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.158528s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.079465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.076820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.142357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state_disk [0.110157s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_missing_attr [0.054072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.051110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.043121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.074572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.379391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_fail_elcm_error [0.130496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_fail_invalid_json [0.150695s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_success_with_200 [0.061375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.505351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_success_with_500 [0.074442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.100655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.086969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.093182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.049983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.052552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.085256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.206520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.711095s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.117301s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.071876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.028449s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.032390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.094006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.040314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_irmc_version_fail [0.100820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.128448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_compat [0.096200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_irmc_version_success [0.173327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.117766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.054180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.048676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.102162s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.132014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.101854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.067659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_fail_no_match [0.031495s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_fail_no_version_set [0.031138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_success [0.029422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.191103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_success_out_range [0.030730s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.026323s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.047961s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.052706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.221845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.081050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.080333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.058918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_http_boot [0.185226s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.072903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.149646s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.125404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.048863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.105071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.129000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.103718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.065036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.079890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.180039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.062490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_default [0.173615s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.084141s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_ipmi [0.158872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.134314s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.059820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state_disk [0.064536s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_redfish [0.164584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.066322s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.048483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.093432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.081303s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.069110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_no_change [0.061982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.044038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.042161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.137665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.051869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.070407s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_invalid_args [0.048520s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.077205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.055203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage [0.097584s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.148943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_default [0.098366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_ipmi [0.046553s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_redfish [0.046339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage_both [0.360401s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.047017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_ipmi [0.113941s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_boot_mode [0.096431s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_redfish [0.113196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_boot_mode_immediate [0.128306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.083557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot [0.063557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot_immediate [0.076816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot_no_wait [0.097967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.292457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.244146s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.408179s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.251595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.142136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot_timeout [1.172679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.054430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.070027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.037340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.267861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.058352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.074846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.184163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.260332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.405351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.054283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.141483s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.063407s] ... 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.037962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.029894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.136482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.041271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.034206s] ... 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.033417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.040675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.158293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.056801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.035737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.037514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.123168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.049817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.050723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.036192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.030427s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.034698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.187506s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.042395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.048346s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.088861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.070259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.090447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.044123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.391682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.054147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.085021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.087284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.101651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.107834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.131912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.049942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.080743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.052650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.084780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.132810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.120459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.075136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.161598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.074792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.073475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.141832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.057035s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.117251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.184228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.059445s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.065251s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.058334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.153841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.077389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.070618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficient_data [0.218195s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.053145s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.156835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.068025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.146381s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.116211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.071329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.132950s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.095314s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.062901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.147819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.086015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.088895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.075652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.090280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.136311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.058712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.081620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.083663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.220476s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.070728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.131016s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.084377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.081743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.080622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.280238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.107207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.120851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.245161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.257906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.062087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.082303s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.314516s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.111344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.062582s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning [0.064773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.310862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_after_reboot [0.159350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.140188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_automated_clean_version_mismatch [0.156239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.136546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_clean_version_mismatch_fail [0.123262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_fail [0.105103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.214935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_manual_clean_version_mismatch [0.129283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.145302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_no_step_running [0.109599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_old_command [0.081178s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.122106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_reboot [0.074728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_running [0.068325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.170402s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_unknown [0.172641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.177540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook [0.087980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook_fails [0.117665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.209500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_manual_cleaning [0.234904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.232162s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing [0.081628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_after_reboot [0.119845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.263416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_reboot [0.108365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.161012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_running [0.161166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.045069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.054031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.036564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.026042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.030030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.034839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.237120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.061168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.033682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.058080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.168541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.029169s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.096070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.184656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.232920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.078814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.087741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.058209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.069244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.059747s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.862113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.043184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.041217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.106442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.165312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.431219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.116464s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.098496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.058349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.034575s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.040928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.091199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.026037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.024729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.082914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.044562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.025573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.027792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.079587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.023154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.020563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.022263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup [0.065241s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.031610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_notstaged [0.040576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.039991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.032240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_swift_fails [0.047386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_file [0.043710s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_http [0.049421s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_invalid [0.031967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_swift [0.055288s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_get_swift_temp_url [0.047451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http [0.023195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile [0.023373s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile_fails [0.031684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_local_external [0.032771s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.397119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_swift [0.068341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.040215s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args [0.025237s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.056438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_missing [0.058240s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_not_string [0.022605s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_not_list [0.022953s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.064394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_source_not_known [0.026130s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.062825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_unknown_key [0.054513s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_missing [0.046115s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.061078s] ... 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.032343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_not_string [0.037639s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_wait_not_int [0.039561s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:445: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.059545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum [0.020476s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.042194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_mismatch [0.055095s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_sha256 [0.024343s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.066135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_sha512 [0.040402s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.051151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.040841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.054371s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.071672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.036602s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.041011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.036035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.053180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.023532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.027706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.118023s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.031509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_bios [0.022654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.081803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.033356s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback_bios [0.032171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.022790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.058624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.034773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.044595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_uefi [0.049415s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.041828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.035781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.079425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.034305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none_bios [0.027211s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.088182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.051696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.032033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.052480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.028151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.066929s] ... 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.059559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.026754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.049091s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property_bios_default [0.032910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.038431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.030981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.027346s] ... 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.027491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.070876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.032647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.044437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.035114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property_bios [0.039327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.067170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.040431s] ... 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.037473s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.077795s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.071561s] ... 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.113304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.053455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.065003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.053576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.044850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.044863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.099336s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.041235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.049399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.102810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.044207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.066842s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.051350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.042421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.077297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.050149s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.035894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.029572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.065625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.031217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.043294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.065068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.052044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.043796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.092020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.112615s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.135213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.071369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.126057s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.324427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.420204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.143065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.058941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.039072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.220686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_service_steps [0.137371s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.111323s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.169045s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.140193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.062231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.230612s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.106682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.080528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.084672s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.081479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.351605s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.037751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.131424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.020788s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set_bios_mode [0.048330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.079880s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.031270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.021789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.035701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.023431s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.102251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.034903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.021097s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.021475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.075125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.020504s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.026897s] ... 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.019203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.020543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.098874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.066413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.112245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.062009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image_anaconda [0.115864s] ... 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.136920s] ... 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.134173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.139115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.121048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.129937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_service [0.054049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.117241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.084532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_is_a_path [0.152388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.110836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_redirect [0.097041s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.051699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.133257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.079199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.093574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.244681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.090183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.074080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.132966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.066246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.063905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.134923s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.049366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_service [0.074603s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.101369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.100654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.188941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.099211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.196511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.029588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.068083s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.058965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.074310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.035772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.033752s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.086376s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.068857s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.050315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_image_type [0.107236s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.031977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.048969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.055525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.029065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.050228s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.055178s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.025427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.062271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.045920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.064097s] ... 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.061856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.040085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.047898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.143233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.043371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.025130s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.030316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.024965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_clear [0.036603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.152822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_new_value [0.032275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_replace_with_empty [0.042123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.057538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.124087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.039348s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.033150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.026931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.105210s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.026256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.026406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.027565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.081226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.029354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.027057s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.034772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.027886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.029722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.380999s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.252150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.042719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_basic_auth_success [0.066636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.038995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.032946s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_basic_auth_success_blocked [0.073165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.026784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.032622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.082156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.064269s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.057640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.050590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.056986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.042343s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.038882s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.058990s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.054304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.058060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.049356s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.043829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.048338s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.046231s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.047367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.068058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.041661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.052432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.048800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.197435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.132330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.073879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.082899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.026061s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.037731s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.119239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.035876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.027480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.032721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.041850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.037473s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.154452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.032076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.036697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.027904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.035054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.028222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.025590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.029797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.028627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.028683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.036873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.037905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.029582s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.032899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.025242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.028893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.027511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.036663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.031378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.030616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up [0.068055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.028584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.025982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.028979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy [0.086817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.030296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.034567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_fast_track [0.066820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.029960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.029772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.055032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.031125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.034778s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.069175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.037932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_get_properties [0.029929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.029209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.055915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.077618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.029463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.028387s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_fast_track [0.075141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.038585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.037277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_validate [0.066055s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.026049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.053455s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.029305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.023499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.024636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.073732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.044322s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.035902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.026204s] ... 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.039565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.026172s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.028796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.025200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.023214s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.029860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.023377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.037203s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.029980s] ... 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.030263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.024443s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.028429s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.023790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [0.021252s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.033709s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.023077s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.029782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.027798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.024115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.042782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.023100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.023397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.026957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.021942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.020042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.019812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.022111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.021953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.186902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_service_step [0.021852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.029874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.025427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.020017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.034854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.026084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.027747s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.028117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.032863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.031871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.024680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootBaseUtils.test__node_set_boot_device_for_network_boot [0.046948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.022129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.021703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.040055s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.023635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.040424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_service_steps [0.020952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_service_steps_older_client [0.019693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.040146s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.021310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.022694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.023058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.023910s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.090043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.020685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.024717s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.052716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.056011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.069861s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.281292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.082769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.028240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios_default [0.074758s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.034011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.358568s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.026614s] ... 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.032199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.065791s] ... 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.023238s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.024089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.054813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_secure_boot [0.032089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.023664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.041102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.101003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.038155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.019780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.018455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.025974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.056504s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.018766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.025312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.043486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.019744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.020015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.037710s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.039994s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.043913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.040531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.056546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.042138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.053742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.041753s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.042095s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.058970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.043340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.070139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.041352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.049450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.051708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.042816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.064014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.045029s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.024752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.038465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.094499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.032159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.029970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.082395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.032984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.054110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.047387s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.022016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.021382s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.048322s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.021498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.024944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.052140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.022520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.024782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.058393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.037031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.025353s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.030080s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.024976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.028537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.024107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.049585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.025289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.030755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.024658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.036786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.022758s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.021984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.031819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.031981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.049577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.034858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.026393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.052037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.023554s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.023517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.043589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.026625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.024143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.054154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.037944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.022828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.051365s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.018681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.019488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.050166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.020651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.023835s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.045298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.022181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.035830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.029056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.017814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.040221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.019125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.023932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.054688s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_create [0.035850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component [0.024623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.050026s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.041806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.081494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.044972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component_does_not_exist [0.201133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component_node_does_not_exist [0.033047s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_save [0.028051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.079834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_sync_firmware_components_create_and_update [0.028502s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.045879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_sync_firmware_components_nochange [0.031063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.024561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.049493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.027197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.027776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.058549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.022827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.027785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.023849s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.020695s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.023662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.024735s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.035663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.031351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.034466s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.021912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.036153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.029584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.025984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.025971s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.021137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.033323s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.021565s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.022747s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.023771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.274873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.024330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.023952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.042432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.026461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.032157s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.030394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.031598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.030877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.029188s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.057221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.029644s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.031918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.073734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.024002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.024589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.040748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.027542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.021989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.046696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.024021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.024106s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.052997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.034307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_no_update [0.021091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.051180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_only_allow [0.022194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.029611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_only_deny [0.025519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_service.TestSync.test_no_nodes [0.025788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.054838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_service.TestSync.test_no_nodes_with_discovery [0.024835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_service.TestSync.test_nothing_on_inspection [0.037335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.059288s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_service.TestSync.test_sync [0.057501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.025838s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.083596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_client [0.041685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.053294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.071331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.070234s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.059720s] ... ok DEBUG util.py:445: Exception ignored in: DEBUG util.py:445: Traceback (most recent call last): DEBUG util.py:445: File "/usr/lib64/python3.9/tempfile.py", line 445, in __del__ DEBUG util.py:445: File "/usr/lib64/python3.9/tempfile.py", line 441, in close DEBUG util.py:445: FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmp8z3aydod/tmpbgizaqru' DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.065747s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.050055s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.057377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.052721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.051613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.056069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.051166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.051021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.058670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.049604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.047425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.042190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.050984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.041439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.050087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.044469s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.043375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.045016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.048039s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.043105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.043150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.040951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.039256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.041654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.039768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.038929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.039325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.023407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.030625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.023609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.023724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.227021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.025467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.029540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.048901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.042352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.052878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.041893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.024354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.040859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.043573s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.053061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.083153s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.054536s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.057210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.027113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.041640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.042324s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.042315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.041883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.043486s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.044876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.025185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.019557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.019376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.017988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.019112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestFirmwareInterface.test_update_with_wrapper [0.019457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.037537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.036317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.047964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.039068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.040715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.043517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.039780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.038161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.021473s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.041201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.023695s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.021608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.026718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.023802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.023395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.020534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.022926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.026971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.021900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.021018s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.022461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.022286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.023218s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.024381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.024687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.025494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.023982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.023170s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.022433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.023417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.022844s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.022382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.019226s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.020440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.017804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.021649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.022036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.023830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.022376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.022643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.023438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.024285s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.023029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.023396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get [0.023842s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.022687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.022969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.022194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_by_node_id [0.023051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.022773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.019440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.017725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.017621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.017457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.017809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.017927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.017802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.017611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.018316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.017693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.018544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.019660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.199898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.020343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.017130s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.017154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.016740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.016641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.017283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.018328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.019159s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.020739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.018287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.018579s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.018871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.018106s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.017794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.017761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.017543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.017802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.018754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.017830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.016945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.017259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.016542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.016893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.017665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.019931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.022049s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.017598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.016956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.017077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.016461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.016580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.017073s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.017149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.017649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.017415s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.016996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.017003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.021312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.020502s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.020977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.020339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.020771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.020629s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.020609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.020899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.020043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.021337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.022497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.038480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.021349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.024052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.020508s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.020548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_change_state [0.020512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_deny_macs [0.020125s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_no_macs [0.020187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_only_new_macs [0.020027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_removed_nodes [0.020500s] ... ok DEBUG util.py:445: ====== DEBUG util.py:445: Totals DEBUG util.py:445: ====== DEBUG util.py:445: Ran: 9524 tests in 418.8383 sec. DEBUG util.py:445: - Passed: 9478 DEBUG util.py:445: - Skipped: 46 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: 1494.6551 sec. DEBUG util.py:445: ============== DEBUG util.py:445: Worker Balance DEBUG util.py:445: ============== DEBUG util.py:445: - Worker 0 (2193 tests) => 0:06:10.516985 DEBUG util.py:445: - Worker 1 (1998 tests) => 0:05:05.616503 DEBUG util.py:445: - Worker 2 (2376 tests) => 0:06:52.064605 DEBUG util.py:445: - Worker 3 (2957 tests) => 0:06:58.552700 DEBUG util.py:445: Test id Runtime (s) DEBUG util.py:445: ----------------------------------------------------------------------------------------------------------------------------- ----------- DEBUG util.py:445: ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state 4.983 DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on 4.264 DEBUG util.py:445: ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden 3.606 DEBUG util.py:445: ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 3.254 DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout 3.156 DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout 3.063 DEBUG util.py:445: ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object 2.892 DEBUG util.py:445: ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states 2.551 DEBUG util.py:445: ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple 2.136 DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail 2.125 DEBUG util.py:445: ___________________________________ summary ____________________________________ DEBUG util.py:445: py39: commands succeeded DEBUG util.py:445: congratulations :) 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-24.0.1-0.20240319001819.99b1f9c.el9.noarch DEBUG util.py:445: Provides: openstack-ironic = 1:24.0.1-0.20240319001819.99b1f9c.el9 DEBUG util.py:445: Requires(interp): /bin/sh /bin/sh /bin/sh DEBUG util.py:445: Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 DEBUG util.py:445: Requires(post): /bin/sh DEBUG util.py:445: Requires(preun): /bin/sh DEBUG util.py:445: Requires(postun): /bin/sh DEBUG util.py:445: Requires: /usr/bin/python3 DEBUG util.py:445: Processing files: openstack-ironic-common-24.0.1-0.20240319001819.99b1f9c.el9.noarch DEBUG util.py:443: warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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.M8BT8m DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.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.1VWtj9 DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/share/licenses/openstack-ironic-common DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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:24.0.1-0.20240319001819.99b1f9c.el9 openstack-ironic-common = 1:24.0.1-0.20240319001819.99b1f9c.el9 python3.9dist(ironic) = 24.0.1~~dev106 python3dist(ironic) = 24.0.1~~dev106 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: ((python3.9dist(jsonpatch) < 1.20 or python3.9dist(jsonpatch) > 1.20) with python3.9dist(jsonpatch) >= 1.16) ((python3.9dist(oslo-service) < 1.28.1 or python3.9dist(oslo-service) > 1.28.1) with python3.9dist(oslo-service) >= 1.24) ((python3.9dist(pecan) < 1.0.2 or python3.9dist(pecan) > 1.0.2) with (python3.9dist(pecan) < 1.0.3 or python3.9dist(pecan) > 1.0.3) with (python3.9dist(pecan) < 1.0.4 or python3.9dist(pecan) > 1.0.4) with (python3.9dist(pecan) < 1.2 or python3.9dist(pecan) > 1.2) with python3.9dist(pecan) >= 1) ((python3.9dist(python-cinderclient) < 4 or python3.9dist(python-cinderclient) > 4) with python3.9dist(python-cinderclient) >= 3.3) /usr/bin/python3 /usr/bin/sh python(abi) = 3.9 python3.9dist(alembic) >= 1.4.2 python3.9dist(automaton) >= 1.9 python3.9dist(construct) >= 2.9.39 python3.9dist(eventlet) >= 0.30.1 python3.9dist(futurist) >= 1.2 python3.9dist(ironic-lib) >= 6 python3.9dist(jinja2) >= 3 python3.9dist(jsonschema) >= 4 python3.9dist(keystoneauth1) >= 4.2 python3.9dist(keystonemiddleware) >= 9.5 python3.9dist(netaddr) python3.9dist(openstacksdk) >= 0.48 python3.9dist(os-traits) >= 0.4 python3.9dist(oslo-concurrency) >= 4.2 python3.9dist(oslo-config) >= 6.8 python3.9dist(oslo-context) >= 2.22 python3.9dist(oslo-db) >= 9.1 python3.9dist(oslo-log) >= 4.3 python3.9dist(oslo-messaging) >= 14.1 python3.9dist(oslo-middleware) >= 3.31 python3.9dist(oslo-policy) >= 3.7 python3.9dist(oslo-rootwrap) >= 5.8 python3.9dist(oslo-serialization) >= 2.25 python3.9dist(oslo-upgradecheck) >= 1.3 python3.9dist(oslo-utils) >= 4.5 python3.9dist(oslo-versionedobjects) >= 1.31.2 python3.9dist(osprofiler) >= 1.5 python3.9dist(pbr) >= 3.1.1 python3.9dist(psutil) >= 3.2.2 python3.9dist(pycdlib) >= 1.11 python3.9dist(python-glanceclient) >= 2.8 python3.9dist(requests) >= 2.18 python3.9dist(rfc3986) >= 1.2 python3.9dist(sqlalchemy) >= 1.4 python3.9dist(stevedore) >= 1.29 python3.9dist(sushy) >= 4.8 python3.9dist(tenacity) >= 6.3.1 python3.9dist(tooz) >= 2.7 python3.9dist(webob) >= 1.7.1 DEBUG util.py:445: Recommends: ipmitool python3-dracclient >= 5.1.0 python3-proliantutils >= 2.10.0 python3-pyasn1-lextudio >= 1.1.0 python3-pysnmp-lextudio >= 5.0.0 python3-scciclient >= 0.8.0 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-24.0.1-0.20240319001819.99b1f9c.el9.noarch DEBUG util.py:445: Provides: openstack-ironic-api = 1:24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.el9.noarch DEBUG util.py:445: Provides: openstack-ironic-conductor = 1:24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.el9.noarch DEBUG util.py:445: Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.LH6gqC DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.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:24.0.1-0.20240319001819.99b1f9c.el9 openstack-ironic-dnsmasq-tftp-server = 1:24.0.1-0.20240319001819.99b1f9c.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-24.0.1-0.20240319001819.99b1f9c.el9.noarch DEBUG util.py:445: Provides: python-ironic-tests = 1:24.0.1-0.20240319001819.99b1f9c.el9 python3-ironic-tests = 1:24.0.1-0.20240319001819.99b1f9c.el9 python3.9-ironic-tests = 1:24.0.1-0.20240319001819.99b1f9c.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: python39-ironic-tests < 1:24.0.1-0.20240319001819.99b1f9c.el9 DEBUG util.py:445: Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64 DEBUG util.py:445: RPM build errors: DEBUG util.py:443: error: Installed (but unpackaged) file(s) found: DEBUG util.py:443: /usr/bin/ironic-pxe-filter DEBUG util.py:443: File not found: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240319001819.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages/ironic_tests.egg_info DEBUG util.py:443: Installed (but unpackaged) file(s) found: DEBUG util.py:443: /usr/bin/ironic-pxe-filter DEBUG util.py:596: Child return code was: 1 INFO util.py:507: EXCEPTION: [Error('Command failed: \n # bash --login -c /usr/bin/rpmbuild -ba --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.6/site-packages/mockbuild/util.py", line 598, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c /usr/bin/rpmbuild -ba --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec 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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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-caracal-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